C# DataTable导出到EXCEL保存多个SHEET

maycxd 2012-04-09 03:43:08
由于以前用惯了IO导出EXCEL,但是这次被告知要保存多个SHEET,只能用COM组件,但是翻了下
材料,找不到如何保存多个SHEET的方法,最简单的方法如下

int columnCount = dt.Columns.Count;
int columnCount2 = dt2.Columns.Count;
int columnCount3 = dt3.Columns.Count;

//创建Excel对象
Microsoft.Office.Interop.Excel._Application excelApp = new ApplicationClass();
//新建工作簿
Microsoft.Office.Interop.Excel._Workbook workBook = excelApp.Workbooks.Add(true);
//新建工作表
Microsoft.Office.Interop.Excel._Worksheet worksheet = workBook.ActiveSheet as Microsoft.Office.Interop.Excel._Worksheet;
Microsoft.Office.Interop.Excel._Worksheet worksheet2 = workBook.ActiveSheet as Microsoft.Office.Interop.Excel._Worksheet;
Microsoft.Office.Interop.Excel._Worksheet worksheet3 = workBook.ActiveSheet as Microsoft.Office.Interop.Excel._Worksheet;


//设置表头
for (int i = 0; i < columnCount; i++)
{
Range headRange = worksheet.Cells[2, i + 1] as Range;//获取表头单元格
headRange.Value2 = dt.Columns[i].Caption;//设置单元格文本
}


//填充数据
for (int i = 0; i < dt.Rows.Count - 1; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
Range contentRange = worksheet.Cells[i + 3, j + 1] as Range;//获取单元格
contentRange.Value2 = dt.Rows[i][j].ToString().Trim();//设置单元格文本
}
}


//保存导出的Excel

string fileName = "E:\\测试" + ".xls";
workBook.SaveCopyAs(fileName);
workBook.Saved = true;

菜鸟求帮助,如何保存多个SHEET?
...全文
788 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wydx123 2012-07-24
  • 打赏
  • 举报
回复
看不到答案,总让我登录,登录也看不到。郁闷。
maycxd 2012-04-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
xlSheets = workBook.Sheets as Sheets;

//添加 Sheet
xlNewSheet = (Worksheet)xlSheets.Add(xlSheets[1], Type.Missing, Type.Missing, Type.Missing);
xlNewSheet.Name = "xxx";

//填充
Range contentRan……
[/Quote]


太谢谢了~!
孟子E章 2012-04-09
  • 打赏
  • 举报
回复
xlSheets = workBook.Sheets as Sheets;

//添加 Sheet
xlNewSheet = (Worksheet)xlSheets.Add(xlSheets[1], Type.Missing, Type.Missing, Type.Missing);
xlNewSheet.Name = "xxx";

//填充
Range contentRange = xlNewSheet.Cells[i + 3, j + 1] as Range;//获取单元格
contentRange.Value2 = dt.Rows[i][j].ToString().Trim();//
tangxu12 2012-04-09
  • 打赏
  • 举报
回复
你的方法不是挺简单的嘛

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧