欢迎来到天天文库
浏览记录
ID:39632248
大小:17.25 KB
页数:4页
时间:2019-07-07
《C%23高效导出Excel》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、我的方法不是使用微软的excel操作类,因为那种实在爆慢,一个个单元格循环写,实在太慢了。【不信朋友们可以试试】而使用io写的话 半分钟都不用我数据库数据量为:120000行29列技术要点:1.使用的是StreamWritersw=newStreamWriter(path,false,Encoding.GetEncoding("gb2312"));最终生成文件2.使用 StringBuildersb=newStringBuilder();类把查询出来的数据组合为一句超长字符串一次性插入到excel
2、中,sb.Append(ds.Tables[0].Columns[k].ColumnName.ToString()+"t");注意,可不能漏了"t"这个是非常重要的!因为c#"t"就等于键盘上的Tab[朋友们可以试试:打开新的txt然后输入1按Tab,输入2按Tab,输入3按Tab保存,然后打开excel文件 把刚刚保存的txt文件拉进去打开你就发现原来。这样写的话123会分别在每个单元格上的了。所以上面才使用"t"连起来数据库出来的那堆数据,这样一次性导进去,他们就会按照每个单元格来填充!
3、]需要引用:usingSystem.Threading;usingSystem.IO;方法如下:C#code privatevoidbutton1_Click(objectsender,EventArgse) { saveFileDialog1.Title="保存的excel文件"; saveFileDialog1.InitialDirectory="c:\"; saveFileDi
4、alog1.Filter="Excel97-2003(*.xls)
5、*.xls
6、AllFiles(*.*)
7、*.*"; saveFileDialog1.ShowDialog(); if(saveFileDialog1.FileName==""
8、
9、saveFileDialog1.FileName==null) { MessageBox.Show("文件名不能为空!"); retu
10、rn; } stringpath=saveFileDialog1.FileName; stringconstr="DataSource=.;InitialCatalog=Exhibition;UserID=sa;Password="; stringsql=GetStrSql(); DataSetds=newDataSet(); using(SqlConnectioncon
11、=newSqlConnection(constr)) { SqlDataAdapterda=newSqlDataAdapter(sql,con); da.Fill(ds); } if(ds==null) { MessageBox.Show("数据获取有误!"); return;
12、 } WriteExcel(ds,path); }publicvoidWriteExcel(DataSetds,stringpath) { try { longtotalCount=ds.Tables[0].Rows.Count; lblTip.Text="共有"+totalCount+"条数据。"; Th
13、read.Sleep(1000); longrowRead=0; floatpercent=0; StreamWritersw=newStreamWriter(path,false,Encoding.GetEncoding("gb2312")); StringBuildersb=newStringBuilder();
此文档下载收益归作者所有