asp.net导出excel 手动输入文件名怎么做

问题描述

asp.net导出excel手动输入文件名怎么做如题

解决方案

解决方案二:
publicstaticvoidExportToExcel(stringfileName,DataGridViewdataGridView1){stringsaveFileName="";//boolfileSaved=false;SaveFileDialogsaveDialog=newSaveFileDialog();saveDialog.DefaultExt="xls";saveDialog.Filter="Excel文件|*.xls";saveDialog.FileName=fileName;saveDialog.ShowDialog();saveFileName=saveDialog.FileName;if(saveFileName.IndexOf(":")<0)return;//被点了取消Microsoft.Office.Interop.Excel.ApplicationxlApp=newMicrosoft.Office.Interop.Excel.Application();if(xlApp==null){MessageBox.Show("无法创建Excel对象,可能您的机子未安装Excel");return;}Microsoft.Office.Interop.Excel.Workbooksworkbooks=xlApp.Workbooks;Microsoft.Office.Interop.Excel.Workbookworkbook=workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);Microsoft.Office.Interop.Excel.Worksheetworksheet=(Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1//写入标题for(inti=0;i<dataGridView1.Columns.Count;i++){worksheet.Cells[1,i+1]=dataGridView1.Columns[i].Name;}//写入数值for(intr=0;r<dataGridView1.Rows.Count-1;r++){for(inti=0;i<dataGridView1.Columns.Count;i++){if(i==1){worksheet.Cells[r+2,i+1]="'"+dataGridView1.Rows[r].Cells[i].Value.ToString();}else{worksheet.Cells[r+2,i+1]=dataGridView1.Rows[r].Cells[i].Value.ToString();}}System.Windows.Forms.Application.DoEvents();}worksheet.Columns.EntireColumn.AutoFit();//列宽自适应if(saveFileName!=""){try{workbook.Saved=true;workbook.SaveCopyAs(saveFileName);//fileSaved=true;}catch(Exceptionex){//fileSaved=false;MessageBox.Show("导出文件时出错,文件可能正被打开!n"+ex.Message);}}xlApp.Quit();GC.Collect();//强行销毁MessageBox.Show(fileName+"保存成功","提示",MessageBoxButtons.OK);}

解决方案三:
引用1楼wc_ling的回复:

publicstaticvoidExportToExcel(stringfileName,DataGridViewdataGridView1){stringsaveFileName="";//boolfileSaved=false;SaveFileDialogsaveDialog=newSaveFileDialog();saveDialog.DefaultExt="xls";saveDialog.Filter="Excel文件|*.xls";saveDialog.FileName=fileName;saveDialog.ShowDialog();saveFileName=saveDialog.FileName;if(saveFileName.IndexOf(":")<0)return;//被点了取消Microsoft.Office.Interop.Excel.ApplicationxlApp=newMicrosoft.Office.Interop.Excel.Application();if(xlApp==null){MessageBox.Show("无法创建Excel对象,可能您的机子未安装Excel");return;}Microsoft.Office.Interop.Excel.Workbooksworkbooks=xlApp.Workbooks;Microsoft.Office.Interop.Excel.Workbookworkbook=workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);Microsoft.Office.Interop.Excel.Worksheetworksheet=(Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1//写入标题for(inti=0;i<dataGridView1.Columns.Count;i++){worksheet.Cells[1,i+1]=dataGridView1.Columns[i].Name;}//写入数值for(intr=0;r<dataGridView1.Rows.Count-1;r++){for(inti=0;i<dataGridView1.Columns.Count;i++){if(i==1){worksheet.Cells[r+2,i+1]="'"+dataGridView1.Rows[r].Cells[i].Value.ToString();}else{worksheet.Cells[r+2,i+1]=dataGridView1.Rows[r].Cells[i].Value.ToString();}}System.Windows.Forms.Application.DoEvents();}worksheet.Columns.EntireColumn.AutoFit();//列宽自适应if(saveFileName!=""){try{workbook.Saved=true;workbook.SaveCopyAs(saveFileName);//fileSaved=true;}catch(Exceptionex){//fileSaved=false;MessageBox.Show("导出文件时出错,文件可能正被打开!n"+ex.Message);}}xlApp.Quit();GC.Collect();//强行销毁MessageBox.Show(fileName+"保存成功","提示",MessageBoxButtons.OK);}

网页上
解决方案四:
用这个SaveFileDialog东东啊
解决方案五:
SaveFileDialog

时间: 2024-09-07 06:30:44

asp.net导出excel 手动输入文件名怎么做的相关文章

asp.net mvc 实现导出excel表格功能怎么做?谢谢

问题描述 asp.net mvc 实现导出excel表格功能怎么做?谢谢 我在做asp.net mvc项目时,想将查询出来的数据 导出到excel表格,请问如何实现,请求具体的代码,谢谢 解决方案 参考在MVC中实现和网站不同服务器的批量文件下载以及NOPI下载数据到Excel的简单学习 (注:NOPI应为NPOI,一个开源的项目)

【译】Asp.Net 导出 Excel 数据的9种方案

原文 http://www.cnblogs.com/garydot/archive/2012/06/04/excel-export.html 简介 Excel 的强大之处在于它不仅仅只能打开Excel格式的文档,它还能打开CSV格式.Tab格式.website table 等多钟格式的文档.它具备自动识别行号,字符,格式化数字等功能,例如:如果你在Excel 单元格中输入数字 "123456789012" 会自动转化为"1.23457E+11". 背景介绍 正因为E

Asp.net导出Excel续:自定义合并单元格,非Office组件

结合上次写的导出Excel方法,这次上头要求我将列头进行一下合并 以前的效果: 改进后的效果: 在上篇文章中写到了Excel的导出方法,这次为了避免在生产环境中使用Office组件,服务器各种权限配置的麻烦,这次就不使用Office组件来生成Excel了. 上篇文章:Asp.net导出Excel(HTML输出)

asp.net导出excel的简单方法

 这篇文章主要介绍了asp.net导出excel的简单方法实例,需要的朋友可以参考下 excel的操作,最常用的就是导出和导入,废话不多说上代码.   本例使用NPOI实现的,不喜勿喷哈....    代码如下: /// <summary>         /// 导出Excel         /// </summary>         /// <param name="stime"></param>         /// <

asp.net导出Excel类库代码分享

 这篇文章主要介绍了asp.net导出Excel类库代码,有需要的朋友可以参考一下    代码如下: using System; using System.Collections.Generic; using System.Reflection; using System.Web; using Excel = Microsoft.Office.Interop.Excel;   /// <summary> ///ExcelClass 的摘要说明 /// </summary> publ

asp.net-关于ASP.NET导出Excel的问题

问题描述 关于ASP.NET导出Excel的问题 我们这边有一个ASP.NET导出Excel的功能,但是在导出的时候,有些情况下是正常的,有些情况就直接导出了整个页面,请问各位大神大概是什么原因导致的?代码如下: //Excel2007的连接字符串 string strCon = ""Provider=Microsoft.ACE.OLEDB.12.0;Data Source="" + filePath + "";Extended Properti

struts2 0-strut2+jxl导出excel设置文件名

问题描述 strut2+jxl导出excel设置文件名 在action中设置导出excel文件名,在struts.xml中获取不到值?求解 解决方案 我测试了你的代码,是filename设置成中文的问题. 你先把filename设置成英文字符名称,再测测能不能取到设置的名称. 然后解决中午名称乱码问题,修改getFilename方法: public String getFilename() throws UnsupportedEncodingException { System.out.prin

ASP.net 导出excel,无法kill进程。(在线等待...)

问题描述 遇到一个问题,在win7下开发的,asp.net导出excel(2007),在正常情况下,能够顺利导出,且进程正常结束,但是当创建excel进程之后,出现异常了,启动publicstaticvoidKillExcelProcess(){System.Diagnostics.Process[]excelProcesses=System.Diagnostics.Process.GetProcessesByName("EXCEL");DateTimestartTime=newDat

asp.net 导出excel与单元格中图片的方法:

asp教程.net 导出excel与单元格中图片的方法: 在asp.net教程中导出excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出流写给浏览器.在response输出时,t分隔的数据,导出excel时,等价于分列,n等价于换行. 1.将整个html全部输出excel 此法将html中所有的内容,如按钮,表格,图片等全部输出到excel中.    response.clear();        response.buf