C#中把DataTable中数据导出Excel编程实例

决定写一片这样的文章,第一给自己也是一种巩固,第二给需要的人也是一种帮助。
(1)首先:添加
【菜科解读】
目前有个项目,客户需求是要把数据倒成Excel,找了点资料整理了一番。
决定写一片这样的文章,第一给自己也是一种巩固,第二给需要的人也是一种帮助。
(1)首先:添加一个为程序添加一个引用
(2)在程序中using一下
using Excel = Microsoft.Office.Interop.Excel;using System.Reflection;(3)给你的程序中添加一个模板Excle(一个空的Excle文件就行)
这里就起一个名字:temp.xls
(4)按照三层架构的思想,以下有2个方法写在中间层。
第一个方法SCexcle()有2个参数,①把你需要导入 Excle的数据集 定义到一个DataTable中,②指向你程序里面前面定义的 temp.xls 模板excel的路径
1 Excel.Application app;2 Excel._Workbook wbook;3 Excel._Worksheet oSheet;4 5 public string SCexcel(DataTable dt, string pathLong)6 {7 string wordPath = pathDownLoad + “temp.xls”; //定义模板的路径8 //打开excel文档9 app = new Excel.Application();//添加一个 Excle应用对象10 11 //打开工作簿,可见很多参数,第一个就是我们模板的路径。
12 wbook = app.Workbooks.Open(wordPath, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);13 14 15 oSheet = (Excel._Worksheet)wbook.Worksheets[1];//创建一张sheet表16 17 //定义文件保存路径18 string filename1 = "report" + System.DateTime.Now.Year + System.DateTime.Now.Month + savechinese + ".xls";//因为保存的不平凡,所以之精确到年和月 。
否则就保存到毫秒19 string filename2 = pathLong + "UpLoadFiles\\" + filename1;//保存在服务器的路径20 21 addExecl(filename2.ToString(), dt);//内部的一个方法,把服务器路径与之前的数据放入addExcle()中,目的是在把数据放入Excel中22 23 //打开后就要关闭。
O(∩_∩)O~24 25 app.Workbooks.Close();26 //同样不要忘记结束进程27 System.Runtime.InteropServices.Marshal.ReleaseComObject(oSheet);28 System.Runtime.InteropServices.Marshal.ReleaseComObject(app);29 30 GC.Collect();//强制对所有代进行即时垃圾回收31 32 }
第二个方法addExecl();我们来看看他是如何处理数据的,并且使用你自己想要的格式来定义Excel
1 private void addExecl(string xlsPath, DataTable dt)2 {3 4 5 Excel.Range oRng;6 Excel.Range range;7 8 9 //标题10 int excel_cur = 1;11 oSheet.Cells[excel_cur, 1] = "大标题";12 excel_cur++;13 14 //字段名 15 oSheet.Cells[excel_cur, 1] = "序号";16 oSheet.Cells[excel_cur, 2] = "字段1";17 oSheet.Cells[excel_cur, 3] = "字段2";18 oSheet.Cells[excel_cur, 4] = "字段3";19 oSheet.Cells[excel_cur, 5] = "字段4";20 oSheet.Cells[excel_cur, 6] = "字段5";21 oSheet.Cells[excel_cur, 7] = "字段6";22 oSheet.Cells[excel_cur, 8] = "字段7";23 oSheet.Cells[excel_cur, 9] = "字段8";24 oSheet.Cells[excel_cur, 10] = "字段9";25 excel_cur++;26 27 //行数据绑定28 if (dt.Rows.Count > 0)29 {30 for (int i = 0; i 效果具体代码添加新工作簿eole.Workbooks.add激活指定的工作簿eole.WorkSheets("工作簿名").Activate设置第3个工作表为激活工作表eole.Worksheets("sheet1").Activate打开指定工作簿 eole.Workbooks.add("E:/E_temp/ABC.xls")更改Excel标题栏eole.Caption="Microsoft Excel"给单元格赋值eole.cells(行,列).value=XM(XM为数据库字段名) eole.cells(1,4).value='ASDFASDFASDFASDFADSF'设置指定列的宽度(单位:字符个数)eole.ActiveSheet.Columns(1).ColumnWidth=5设置指定行的高度(单位:磅)eole.ActiveSheet.Rows(1).RowHeight=1/0.035 //设定行高为1厘米,1磅=0.035厘米在第7行之前插入分页符eole.Worksheets("Sheet1").Rows(7).PageBreak=1在第7列之前删除分页符eole.ActiveSheet.Columns(7).PageBreak=0指定边框线宽度(Borders参数如下)eole.ActiveSheet.Range("b3:d3").Borders(2).Weight=3设置四个边框线条的类型eole.ActiveSheet.Range("b3:d3").Borders(1).Line > (其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)设置页眉eole.ActiveSheet.PageSetup.CenterHeader="报表1"设置页脚eole.ActiveSheet.PageSetup.CenterFooter="第&P页"设置页眉到顶端边距为2厘米eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035设置页脚到底边距为3厘米eole.ActiveSheet.PageSetup.FooterMargin=3/0.035设置顶边距为2厘米eole.ActiveSheet.PageSetup.TopMargin=2/0.035设置底边距为4厘米 eole.ActiveSheet.PageSetup.BottomMargin=4/0.035设置左边距为2厘米eole.ActiveSheet.PageSetup.LeftMargin=2/0.035设置右边距为2厘米eole.ActiveSheet.PageSetup.RightMargin=2/0.035设置页面水平居中eole.ActiveSheet.PageSetup.CenterHorizontally=.t.设置页面垂直居中 eole.ActiveSheet.PageSetup.CenterVertically=.t.设置页面纸张大小(1-窄行8?5?11 39-宽行14?11) eole.ActiveSheet.PageSetup.PaperSize=1可为下列 XlPaperSize 常量之一(某些打印机可能不支持所有的这些纸张大小);常量 数值 意义;xlPaperLetter 1 Letter (8-1/2 in. x 11 in.)xlPaperA3 8 A3 (297 mm x 420 mm)xlPaperA4 9 A4 (210 mm x 297 mm)xlPaperA4Small 10 A4 Small (210 mm x 297 mm)xlPaperA5 11 A5 (148 mm x 210 mm)xlPaperB4 12 B4 (250 mm x 354 mm)xlPaperB5 13 B5 (182 mm x 257 mm)xlPaperFanfoldUS 39 U.S. Standard Fanfold (14-7/8 in. x 11 in.)xlPaperUser 用户自定义打印单元格网线eole.ActiveSheet.PageSetup.PrintGridlines=.t.拷贝整个工作簿eole.ActiveSheet.UsedRange.Copy拷贝指定区域eole.ActiveSheet.Range("A1:E2").Copy粘贴eole.Worksheets("sheet2").Activateeole.ActiveSheet.Range("F1").PasteSpecial在第2行之前插入一行eole.ActiveSheet.Rows(2).Insert在第2列之前插入一列eole.ActiveSheet.Columns(2).Insert设置字体eole.ActiveSheet.Cells(2,1).Font.Name="黑体"设置字体大小eole.ActiveSheet.Cells(1,1).Font.Size=25设置字体为斜体eole.ActiveSheet.Cells(1,1).Font.Italic=.t.设置整列字体为粗体eole.ActiveSheet.Columns(1).Font.Bold=.t.合并单元格eole.ActiveSheet.Range("A1:B4").merge撤销合并单元格,上述操作的逆操作eole.ActiveSheet.Range("A1:B4").unmerge在单元格中设置公式(一般可以用来实现计算汇总、求平均等很多功能)eole.cells(1,4).value = "=公式"** 可以使用所有VBA内部函数,如sum()等。
注意:不能使用VFP的函数啊!清除单元格公式eole.ActiveSheet.Cells(1,4).ClearContents打印预览工作表eole.ActiveSheet.PrintPreview打印输出工作表eole.ActiveSheet.PrintOut工作表另为eole.ActiveWorkbook.SaveAs("c:/temp/22.xls")放弃存盘eole.ActiveWorkbook.saved=.t.关闭工作簿eole.Workbooks.close退出Exceleole.quit
以上就是本人对Excel一些微不足道的见解。
写的不周到的地方 也请给位多多担待。
中把,DataTable,中,数据,导出,Excel,编程,为什么越南人多地少还能出口水稻给中国?
让人感到惊讶的是,这样一个人多地少的贫穷国家,竟然没有吃不饱饭的问题,甚至他们还能出口大米到中国,地主家余粮很多啊! 其实,这并不稀奇,河南省一个省的小麦产量就占全国的近三分之一。
平均下来,河南省的小麦就要供应全国14亿人口中的三分之一,近4亿人使用,比越南供一亿人的大米要厉害得多。
越南是世界上第二大大米出口国,大米不仅出口到中国,还出口到欧洲国家。
很多人怀疑,越南人靠什么种植这么多稻米的?其实这和越南的地理环境和政策有关。
越南的粮食作物相对单一,水稻的播种面积占到了全部耕地的四分之三左右。
越南的耕地面积不大,但是水稻的播种面积却很大。
90年代的时候,曾经把四分之三的耕地用来播种水稻。
其实越南的农作物很丰富,橡胶、菠萝等,但它们把其它作物的种植面积都压低,专一发展一种农作物,就是看重水稻的出口价值。
集中全力种植大米,提高产量是没有任何问题的。
我们虽然耕地面积比越南要多,但实际上农业大省主要是指中原地区和东北地区。
整个河南的小麦产量一度占到全国的28%,将近三分之一。
而东北地区的主要种植水稻、玉米,也占了很大一个部分。
就以河南为例,平均下来种植的小麦要供4亿人,一个省养活四亿人,比越南要强多了吧。
所以,我们国家完全能做到用一个省的耕地养活几亿人口,只是大家平时没意识到这一点。
我们是制造业大国,所以不可能把所有资源都去发展农业。
我们早已不是一个单纯的农业国家,而是新兴的工业化国家,不可能把全部资源投入到农业上面去。
比如,广东、上海等沿海地区,肯定主要发展商业和高科技产业,而不会发展农业。
同样,西北地区和西南地区也不适合大量的发展农业,因为当地的气候不适合农业发展。
越南的农业生产效率并不高,但是农业人口占比很大,劳动力充足。
而越南就不一样了,在十年前,越南还是一个纯粹的农业化国家,全国近一亿人,有将近一半人都是农民或者从事跟农业有关的行业,5千万人养活一亿人,再出口点大米,没问题吧。
而我们呢?实际上绝大多数农民都不再单纯的种地了,而是外出打工,或者做一些小生意,纯粹的农业生产者其实并不多。
而我们同样养活了14亿人。
越南地处热带,水稻一年可以收获三季,这也是它的优势。
越南地处热带附近,气温比较高,降水比较充足。
加上湄公河流域的土地十分肥沃,非常适合种植水稻。
而且当地的水稻可以一年收获三季,换句话说,同样土地,越南大米产量就要翻几倍。
这是气候问题,南方温度高,适合水稻生长,而北方气温低,只能收获一季。
这一点不用羡慕,只是气候决定的。
最后,我想说的是,其实在我们国家,基本上就是几个省的农业养活了全国。
现在有的地方发展制造业、有的地方发展金融,有的省份发展农业。
虽然大家的分工不同,但其实大家都在给国家作贡献。
随机文章隋炀帝杨广:历史上曾是才华横溢的翩翩美男子人类为什么不把火山浇灭,岩浆能融化地球万物/无能无力拉美羽蛇神的传说,掌管雨季丰收和生死(传闻是中国龙的化身)双头龟是怎么形成的,自然界基因突变成畸形/环境污染导致畸形增多冥王星和月球哪个大,月球直径3476公里(月球比冥王星大)
【精彩MV视频合集】欢迎观赏最新热门MV,让你沉醉在音乐的海洋中!
通过观赏这些精彩的MV视频,你可以享受到音乐带来的愉悦和感动,让你的心灵得到滋养。
工具原料:品牌型号:iPhone 12操作系统版本:iOS 14.5软件版本:YouTube App 16.17.4一、精彩MV视频合集1、MV视频的种类繁多,包括流行、摇滚、民谣、电子等各种音乐风格,满足不同人群的音乐口味。
2、MV视频的制作精良,画面精美,剧情丰富,能够给观众带来视觉上的享受。
3、MV视频中的音乐和歌词能够深入人心,让人产生共鸣,引发情感共鸣。
二、观赏MV视频的方法1、打开iPhone 12手机,进入YouTube App。
2、在搜索栏中输入【精彩MV视频合集】,点击搜索。
3、选择一个你感兴趣的MV视频,点击播放按钮开始观看。
三、分享和收藏MV视频1、在观看MV视频时,你可以点击视频下方的分享按钮,将视频链接分享给朋友。
2、如果你喜欢某个MV视频,你可以点击视频下方的收藏按钮,将其添加到你的收藏夹中,方便以后再次观看。
四、总结通过观赏【精彩MV视频合集】,你可以沉浸在音乐的海洋中,享受音乐带来的愉悦和感动。
这些精心制作的MV视频不仅给你带来视觉上的享受,更能引发你的情感共鸣。
使用iPhone 12手机上的YouTube App,你可以随时随地观看这些精彩的MV视频,并与朋友分享和收藏喜欢的视频。
推荐你下载YouTube App,开始你的音乐之旅!