宝哥软件园

asp.net(C#)操作excel(上)

编辑:宝哥软件园 来源:互联网 时间:2021-10-24

1.工作环境开发环境:vs2005 /vs2008数据库:sql2005exel33602003首先在vs中添加com组件(当然也可以在下添加excel组件。net):

之后,vs引用的子目录中会添加以下三个dll:(9501 . 163.com)。

简单的操作流程如下:复制代码如下:使用Excel//来自bill示例public void writeexcel(字符串输出文件){string [,] mydata={{ '车牌号','类型','品牌','型号','颜色','附加费证号','车架号' },{'zhe KA3676 ','危险品','货车','铁锋SZG9220YY ','白色',' 1110708900 ',' 022836' },{'zhe KA4109 ','危险品','货车','解放ca4110。{ '浙KA0001A ','危险品','货车','南明LSY9190WS ','白',' 1110205458 ',' 0474636' },{ '浙KA0493 ','上浦货','货车','解放'。{ '浙江KA1045 ','一般货物','货车','解放LSY9171WCD ','蓝色',' 1110391226 ',' 0516003' },{ '浙江KA1313 ','一般货物','货车','解放9199 '。{ '浙江KA1322 ','一般货物','货车','解放LSY9190WS ','蓝色',' 243233332 ',' 0538716' },{ '浙江KA1575 ','一般货物','货车','解放LSY 9188 '。{ '浙江KA1925 ','一般货物','货车','解放LSY9220WCD ','蓝色',' 1110390626 ',' 00268729' },{ '浙江KA2258 ','一般货物','货车','解放LSY '。//引用Excel应用类别Application myExcel=null//引用工作簿类别Workbook myBook=null//引用工作表类别工作表mySheet=空;//引用范围类别范围myRange=null//打开一个新的应用程序myexcel=new Microsoft . office . interop . excel . application();//打开现有的excel。excel2003和excel 2007的打开参数不同。具体来说,可以查找://excelsql . workbooks . open(@ ' c : 08 . xls '(现有excel路径),Type。缺少,类型。缺少,类型。缺少,类型。缺少,//类型。缺少,类型。缺少,类型。缺少,类型。缺少,类型。缺少,类型。缺少,类型。缺少,类型。缺少,类型。缺少,类型。失踪);//添加新工作簿myExcel。工作簿。添加(真);//禁用警告消息myExcel。DisplayAlerts=false//使Excel文件在myExcel中可见。可见=真;//引用第一个工作簿myBook=myExcel。工作簿[1];//设置工作簿焦点myBook。activate();//参考第一张工作表mysheel=(工作表)my book . worksheets[1];//命名工作表的名称是“数组”我的工作表。名称=“单元格”;//设置工作表焦点mySheet。activate();int a=0;int UpBound1=myData。getuperbound(0);//二维数组个数的上限int up bound 2=my data . getupper bound(1);//二维数组的最大数量//写入报告名称myExcel。单元格[1,4]='普通报表';//为了加快Excel的速度,可以省略下面的Select方法,但是VBA的一些函数必须使用Select方法。//为了加快Excel的速度,可以省略下面的Select方法,但是VBA的一些函数必须使用Select方法。

//逐行写入数据for(int I=0;I UpBound1I){ for(int j=0;j UpBound2j ) { //以单引号开头,表示该单元格为纯文字a;//用抵消写入阵列资料myRange=mySheet.get_Range('A2 ',类型。失踪);myRange.get_Offset(i,j).选择();我的天使Value2=''' myData[i,j];//用细胞写入阵列资料我的范围。get _ Range(我的xcel .细胞[2 i,1 j],myExcel .单元格[2 i,1 j]).选择();myExcel .单元格[2 i,1 j]=''' myData[i,j];} } //加入新的工作表在第一张工作表之后我的书。工作表。添加(类型。不见了,我的书。工作表[1],1,类型。失踪);//引用第2个工作表我的工作表=(工作表)我的书。工作表[2];//命名工作表的名称为数组"我的工作表"。名称="数组";//控制台WriteLine(我的报纸。名称);//写入报表名称myExcel .单元格[1,4]='普通报表;//设定范围myRange=(范围)mySheet.get_Range(myExcel .细胞[2,1],myExcel .单元格[UpBound1 1,upbound 2 1]);我的天使。选择();//用阵列一次写入资料我的天使Value2=' ' ' myData//设定储存路径//字符串路径文件=目录. GetCurrentDirectory()@ ' 按钮4。xls ';//另存活页簿我的书。另存为(输出文件,类型。缺少,类型。缺少,类型。缺少,类型。缺少,类型。缺少,XlSaveAsAccessMode.xlNoChange,类型。缺少,类型。缺少,类型。缺少,类型。缺少,类型。失踪);//关闭活页簿我的书。关闭(错误,类型。缺少,类型。失踪);//关闭Excel myExcel .退出();//释放超过资源系统。运行时。interopservices。法警。release comobject(myExcel);my book=NullMySheet=NullMyRange=NullMyExCel=NullGC .collect();

更多资讯
游戏推荐
更多+