给你一个打开Excel的字串。
其它的看帮助
string strCn =@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Client;Extended Properties=Excel 8.0;";
其它的看帮助
string strCn =@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Client;Extended Properties=Excel 8.0;";
解决方案 »
- dsoframer能否调用Excel中写好的宏?怎么调用?
- 在vs或者sql server中生成一个字符串,比如说JH20121122001,前面以JH开头,中间是日期,后面是自动+1的
- 转义字符 的问题
- 关于打包
- 请问如何设置空间透明效果!谢谢高手进来回答下.
- C#中通过选择单选按钮实现面板上内容的切换
- HttpWebRequest POST 数据时请求头多了一行Expect: 100-continue,少了数据行
- C#中,在多线程中,为什么子线程操作主界面的某些控件正常,而操作某些控件产生错误?
- 复制文件出错
- 大家帮忙看看接口的简单问题。。谢谢。。。
- web.config的安全设置与程序中打开WORD文档的问题。
- 两个问题
类 型
品 牌
型 号
颜 色
附加费证号
车架号
浙KA3676
危险品
货车
铁风SZG9220YY
白
1110708900
022836
浙KA4109
危险品
货车
解放CA4110P1K2
白
223132
010898
浙KA0001A
危险品
货车
南明LSY9190WS
白
1110205458
0474636
浙KA0493
上普货
货车
解放LSY9190WS
白
1110255971
0094327
浙KA1045
普货
货车
解放LSY9171WCD
蓝
1110391226
0516003
浙KA1313
普货
货车
解放9190WCD
蓝
1110315027
0538701
浙KA1322
普货
货车
解放LSY9190WS
蓝
24323332
0538716
浙KA1575
普货
货车
解放LSY9181WCD
蓝
1110314149
0113018
浙KA1925
普货
货车
解放LSY9220WCD
蓝
1110390626
00268729
浙KA2258
普货
货车
解放LSY9220WSP
蓝
1110481542
00320
为了在C#中使用Excel,我们要先做一点准备工作,通过查找(前提是你安装Visual Studio.Net和Excel 2000),在你的计算机中找到TlbImp和Excel9.olb,将他们复制到一个文件夹中,在DOS窗口中执行 TlbImp Excel9.olb,这时会产生以下三个文件:Excel.dll、Office.dll和VBIDE.dll。我们来完成两项任务,一是按网上文章介绍的方法,增加将数据写入一个Excel文件,也就是做一个简单报表,二是用Excel创建一个文件,然后以此文件为模板生成高级报表。打开Visual Studio.Net,新建一个C#的windows应用程序,取名为MyExcel。根据个人爱好,对窗口做一些美化工作,然后放两个按钮:btnNormal和btnAdvance,Caption分别为“普通报表”和“高级报表”。从菜单中选择“项目”→“添加应用”,在弹出的对话框中选com页,再点浏览按钮,选择刚才生成的三个文件,如下:点“打开”按钮,再点“确定”按钮。切换到代码窗口中,在文件头添加下面两个引用:using System.IO;using System.Reflection;再添加一个二维数组来表示数据表: private string [,] myData= { {"车牌号","类型","品 牌","型 号","颜 色","附加费证号","车架号"}, {"浙KA3676","危险品","货车","铁风SZG9220YY","白","1110708900","022836"}, {"浙KA4109","危险品","货车","解放CA4110P1K2","白","223132","010898"}, {"浙KA0001A","危险品","货车","南明LSY9190WS","白","1110205458","0474636"}, {"浙KA0493","上普货","货车","解放LSY9190WS","白","1110255971","0094327"}, {"浙KA1045","普货","货车","解放LSY9171WCD","蓝","1110391226","0516003"}, {"浙KA1313","普货","货车","解放9190WCD","蓝","1110315027","0538701"}, {"浙KA1322","普货","货车","解放LSY9190WS","蓝","24323332","0538716"}, {"浙KA1575","普货","货车","解放LSY9181WCD","蓝","1110314149","0113018"}, {"浙KA1925","普货","货车","解放LSY9220WCD","蓝","1110390626","00268729"}, {"浙KA2258","普货","货车","解放LSY9220WSP","蓝","111048152","00320"} };切换回设计窗口,双击“普通报表”按钮,设计普通报表,代码如下: private void btnNormal_Click(object sender, System.EventArgs e) { //创建一个Excel文件 Excel.Application myExcel = new Excel.Application ( ) ; myExcel.Application.Workbooks.Add ( true ) ; //让Excel文件可见 myExcel.Visible=true; //第一行为报表名称 myExcel.Cells[1,4]="普通报表"; //逐行写入数据, for(int i=0;i<11;i++) { for(int j=0;j<7;j++) { //以单引号开头,表示该单元格为纯文本 myExcel.Cells[2+i,1+j]="'"+myData[i,j]; } } }说明一下,Cells[2,1]指第2行第1个单元格,是以1为基准的,而在C#中的数组是以0为基准的,另外,我们还发现,对于编号之类的数据,实际是文本,而Excel将它认成了数字,由于太长,自动换成了科学计数,这不是我们要求的,在Excel中,如果某单元格以单引号“’”开头,表示该单元格为纯文本,因此,我们在每个单元格前面加单引号。运行结果如下:
可以看出,该报表非常简陋,标题行没有合并局,字体大小也不合适,连表格线都没有。当然,我们可以写代码来设置单元格字体、大小等等工作,这类技巧网上很多,但如果真要用C#来完成,是一件非常难的事情,还有个办法就是将想要的操作录制成宏,研究一下宏代码,但宏是用VBA写的,要转换成果C#可不是件容易的事情。第一种办法不是本文的重点,就到此为止。下面进行高级报表设计,该方法的原理为:首先打开Excel,按照要求排好版,保存为一个文件做为模板,然后在C#中将该文件复制为一个新文件,在指定位置填入数据就可以了,为了添加表格线,我们录制了一个宏,在C#中执行该宏即可。