标题:[求助]如何在C#下导出Excel的多个sheet?
只看楼主
swingli
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2004-8-4
 问题点数:0 回复次数:2 
[求助]如何在C#下导出Excel的多个sheet?
目前我只能将一个dataset导出为Excel的一个sheet,我想将5个dataset:ds1,ds2...这5个dataset中的数据同时导出为一个Excel文挡的5个sheet,该如何做?
搜索更多相关主题的帖子: sheet Excel 
2007-04-03 21:28
swingli
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2004-8-4
得分:0 
回复:(swingli)[求助]如何在C#下导出Excel的多个sh...

怎么没人那?帮帮忙!
以下代码是我将一个dataset的数据成功导入到Excel的sheet1中,我想再将另一个dataset的数据导入该Excel的sheet2中,不知该如何修改下面的代码?求助大侠们,万分急!

Excel.Application excel= new Excel.Application() ;
excel.Application.Workbooks.Add(true) ;
excel.Visible = true ;
excel.Cells[1,1] = "参数配置基本表" ;
int rowCount;
rowCount=this.dataSet_Config1.config.Rows.Count;//要导入Excel的dataset

excel.Cells[3,1] = "系统编号" ;
excel.Cells[3,2] = "分系统编号";
excel.Cells[3,3] = "站ID" ;
excel.Cells[3,4] = "IO模块ID";
excel.Cells[3,5] = "IO模块类型";

///添加数据
for(int i=0;i<rowCount;i++) ///每一行
{
excel.Cells[i+4,1] = this.dataSet_Config1.config.Rows[i]["系统编号"];
excel.Cells[i+4,2] = this.dataSet_Config1.config.Rows[i]["分系统编号"];
excel.Cells[i+4,3] = this.dataSet_Config1.config.Rows[i]["站ID"];
excel.Cells[i+4,4] = this.dataSet_Config1.config.Rows[i]["IO模块ID"];
excel.Cells[i+4,5] = this.dataSet_Config1.config.Rows[i]["IO模块类型"];

}

//格式的变化
Excel._Workbook mybook;
Excel._Worksheet mySheet;
Excel.Range oRng;

mybook=excel.ActiveWorkbook;
mySheet=(Excel._Worksheet)mybook.ActiveSheet;

oRng = mySheet.get_Range("A1","B1");
oRng.Merge(0);

oRng.Font.Bold=true;
oRng.Font.Size=16;

rowCount=rowCount+3;

string endCell=rowCount.ToString();
endCell="E"+endCell;

oRng = mySheet.get_Range("A3",endCell);

oRng.Borders.get_Item( Excel.XlBordersIndex.xlInsideHorizontal).LineStyle = Excel.XlLineStyle.xlContinuous;
oRng.Borders.get_Item( Excel.XlBordersIndex.xlInsideVertical).LineStyle
= Excel.XlLineStyle.xlContinuous;
oRng.Borders.get_Item( Excel.XlBordersIndex.xlEdgeTop).LineStyle
= Excel.XlLineStyle.xlContinuous;
oRng.Borders.get_Item( Excel.XlBordersIndex.xlEdgeLeft).LineStyle
= Excel.XlLineStyle.xlContinuous;
oRng.Borders.get_Item( Excel.XlBordersIndex.xlEdgeRight).LineStyle
= Excel.XlLineStyle.xlContinuous;
oRng.Borders.get_Item( Excel.XlBordersIndex.xlEdgeBottom).LineStyle
= Excel.XlLineStyle.xlContinuous;

oRng.EntireColumn.AutoFit();

2007-04-17 22:29
天涯行客
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-3-17
得分:0 
1、选中第二张表:
mySheet=(Excel._Worksheet)mybook.Sheets[2];//余类推
或者
mySheet=(Excel._Worksheet)mybook.Sheets.get_Item(2);//余类推

2、添加一张新表到最后:
mybook.Sheets.Add(Missing.Value, mybook.Sheets.Count, Missing.Value, Missing.Value);


2007-04-19 23:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-129012-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.151025 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved