C# 将DataTable里的数据导出到excel的代码,出了个问题谁能帮我

问题描述

publicclassImportExportToExcel{privateSystem.Windows.Forms.OpenFileDialogopenFileDlg=newSystem.Windows.Forms.OpenFileDialog();privateSystem.Windows.Forms.SaveFileDialogsaveFileDlg=newSystem.Windows.Forms.SaveFileDialog();publicImportExportToExcel(){this.openFileDlg.DefaultExt="xls";this.openFileDlg.Filter="Excel文件(*.xls)|*.xls";this.saveFileDlg.DefaultExt="xls";this.saveFileDlg.Filter="Excel文件(*.xls)|*.xls";}publicvoidExportToExcel(DataSetds,stringstrExcelFileName){if(ds.Tables.Count==0||strExcelFileName==""){return;}doExport(ds,strExcelFileName);}publicvoidExportToExcel(DataSetds){if(saveFileDlg.ShowDialog()==System.Windows.Forms.DialogResult.OK)doExport(ds,saveFileDlg.FileName);}privatevoiddoExport(DataSetds,stringstrExcelFileName){Excel.Applicationexcel=newExcel.Application();introwIndex=1;intcolIndex=0;excel.Application.Workbooks.Add(true);System.Data.DataTabletable=ds.Tables[0];foreach(DataColumncolintable.Columns){colIndex++;excel.Cells[1,colIndex]=col.ColumnName;}foreach(DataRowrowintable.Rows){rowIndex++;colIndex=0;foreach(DataColumncolintable.Columns){colIndex++;excel.Cells[rowIndex,colIndex]=row[col.ColumnName].ToString();}}excel.Visible=false;excel.ActiveWorkbook.SaveAs("C:/DocumentsandSettings/Administrator/桌面/"+strExcelFileName+".XLS",Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null,null);excel.Quit();excel=null;GC.Collect();//垃圾回收}}上面我是将DataTable里的数据导出到excel的代码,保存得一次后,,再点保存就会提示,要不要替代原来的文件,如果点否或取消就出错了...谁能帮我解决下这问题,先谢谢了.

解决方案

解决方案二:
保存前先删除原有的文件或者换成其它名称
解决方案三:
不知道业务你可以随机让它产生名称
解决方案四:
要是我保存前忘了保存,出错就不好了啊,必竞不是自己用,,是给别人用出错别人又不会.
解决方案五:
excel.AlertBeforeOverwriting=false;

//强制覆盖,不弹出是否存在的对话框
解决方案六:
我也遇到了,现在只有把下面的函数加个捕捉异常privatevoiddoExport(DataSetds,stringstrExcelFileName){Excel.Applicationexcel=newExcel.Application();introwIndex=1;intcolIndex=0;excel.Application.Workbooks.Add(true);System.Data.DataTabletable=ds.Tables[0];foreach(DataColumncolintable.Columns){colIndex++;excel.Cells[1,colIndex]=col.ColumnName;}foreach(DataRowrowintable.Rows){rowIndex++;colIndex=0;foreach(DataColumncolintable.Columns){colIndex++;excel.Cells[rowIndex,colIndex]=row[col.ColumnName].ToString();}}excel.Visible=false;try{excel.ActiveWorkbook.SaveAs("C:/DocumentsandSettings/Administrator/桌面/"+strExcelFileName+".XLS",Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null,null);}catch(Exceptionex){}finally{excel.Quit();excel=null;GC.Collect();//垃圾回收}
解决方案七:
5楼的,谢谢啊,,挺有用的.呵

时间: 2024-12-02 11:29:44

C# 将DataTable里的数据导出到excel的代码,出了个问题谁能帮我的相关文章

excel-asp.net把DataTable里的数据导出到Excel 并且要做合并 某列里多行合并的操作

问题描述 asp.net把DataTable里的数据导出到Excel 并且要做合并 某列里多行合并的操作 把DataTable里的数据导出到Excel 并且要做合并 某列里多行合并的操作 请问有什么方法,求大神指教.谢谢了. 解决方案 http://m.baidu.com/from=1011267h/bd_page_type=1/ssid=0/uid=0/pu=usm%400%2Csz%401321_1004%2Cta%40utouch_2_4.1_11_2.1/baiduid=974ADEE1

导出-怎么把System.data.DataTable 里的数据导入到Excel表格里呢?

问题描述 怎么把System.data.DataTable 里的数据导入到Excel表格里呢? 请问怎么把Datatable里的数据导出到Excel里的表格里,我导出的只有一行是什么原因呢? 解决方案 遍历,然后自己通过微软提供的dll去写入到excel文件,或者用NPOI,这个挺好用的 解决方案二: 楼主使用的导出代码是什么?建议详细描述一下. 解决方案三: http://blog.csdn.net/xianfajushi/article/details/8120109

使用C#或javascript将Table里的数据导出到Excel

原文:使用C#或javascript将Table里的数据导出到Excel Demo效果图: 用C#将Table数据导出Excel:  本方法已经将导出excel做成分部视图,引用时只需在视图中使用如下代码即可: @{ Html.RenderAction("Index", "ExportExcel", new { divId = "report", filename = "hidTitle" }); } 其中divId为tabl

如何把数据库里的数据导出成excel格式?

问题描述 大家好!请问高手如何把数据库里的数据导出成excel格式(用asp.net实现)谢谢! 解决方案 解决方案二:mark~解决方案三:网上有相关的例子,很多哦!解决方案四:1.gridview显示数据库的所需数据2.gridview导出excel下面是button事件中的代码protectedvoidBtn_ExportClick(objectsender,EventArgse){Response.ClearContent();Response.AddHeader("content-di

C# datagridview里的数据导出到Excel里,现在导出可以了,想实现导出的背景色!

问题描述 现在导出已经全部做好了.就是希望在导出到Excel里的数据背景和我DGV里的一样.大概效果如下图我手工做的效果大概意思就是这样,是以单元格为单位设置背景,不是以行或者列为单位.因为颜色可能会在后面导出考勤时使用,但是只能设置固定的颜色.我想设置成跟着DGV的背景一起导出.改如何实现??? 解决方案 解决方案二:在excel里面写个vba代码,然后c#调用它涂色.或者用第三方excel控件

asp.net Linq把数据导出到Excel的代码_实用技巧

前些时间有朋友为了完成此功能,就硬把数据导入DataGrid再导出到Excel.这实在是多此一举. 解决办法: 通过Linq将数据读出,并直接写入数据流中 代码如下: 复制代码 代码如下: public partial class DataToExcel : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { DataAccess.DataClassesDataContext db = new D

Grid或者DataTable中数据导出为Excel原来这么简单_实用技巧

以前一直认为,将Grid 或者DataTable中的数据导出到Excel功能实现会非常复杂,可能会想用什么类库什么的或者实在太难就用csv算了. 看了FineUI中的将Grid导出为Excel的实现方法,实际上是可以非常简单.看来很难的问题,变换一种思路就可以非常简单. 1. Aspx后台代码输出Content Type信息 复制代码 代码如下: Response.ClearContent(); Response.AddHeader("content-disposition", &qu

DataTable数据导出成Excel文件的小例子_实用技巧

复制代码 代码如下: /// /// 将DataTable中的数据导出到指定的Excel文件中 /// /// Web页面对象 /// 包含被导出数据的DataTable对象 /// Excel文件的名称public static void Export(System.Web.UI.Page page,System.Data.DataTable tab,string FileName) { System.Web.HttpResponse httpResponse = page.Response;

asp代码实现access数据导出到excel文件

  asp代码实现access数据导出到excel文件: 一,下面是导出XLS格式 <%  dim referer  referer = Request.ServerVariables("HTTP_REFERER")  Dim CName,action  action=request.Form("action")  CName="../../Excel/"  dim daytime  'daytime=year(now())&&qu