2、打开了之后,在需要复制的Excel中选中工作薄,右键单击鼠标" />
乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > c# 用NPOI能否直接复制整个<em>excel</em>的某个sheet到...-excel

c# 用NPOI能否直接复制整个<em>excel</em>的某个sheet到...-excel

作者:乔山办公网日期:

返回目录:excel表格制作


1、在电脑桌面里将两个表格都打开,也就是要复制的原EXCEL文件zhidao,还有目标EXCEL文件。

专查看大图" class="ikqb_img_alink">

2、打开了之后,在需要复制的Excel中选中工作薄,右键单击鼠标点击移动或复制工作表。

3、然后在弹出来的选项里面点击工作簿旁边的下拉按钮,选择目标Excel文件。

4、然后在下列选定工作表之前点击需要复制的工作簿,并在建立副本前面打√,确定就可以了,这样就可以将某个Excel文件中的特定sheet复制到一个另一个Excel文件中去。



完全可以,应该NPOI本身就提供这个功能
			string fileName = @"f:\2015光盘内容一览.xls";
HSSFWorkbook workbook;
using (FileStream stream = File.OpenRead(fileName))
workbook = new HSSFWorkbook(stream);
ISheet sheet = workbook.GetSheet("菜鸟"); //获取名称是“菜鸟”的表。
IRow row = sheet.CreateRow(0); //在第一行位置创建一行。
row.CreateCell(0).SetCellValue("测试"); //在第一列位置创建一列,并赋值“测试”。
using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
workbook.Write(fs);

以上示例,读取xls文件,然后在“菜鸟”表第一行第一列填写文本"测试"并保存更新。



好吧,我有一段代码,你可参考下.

 int sheetCount = dt.Rows.Count % 50000 == 0 ? dt.Rows.Count / 50000 : dt.Rows.Count / 50000 + 1;
            ISheet sheet = null;
            IRow row = null;
            ICell cell = null;
            for (int i = 0; i != sheetCount; i++)
            {
                sheet = book.CreateSheet(string.Format("RCList{0}", i + 1));
                row = sheet.GetRow(0) ?? sheet.CreateRow(0);
                for (int k = 0; k != dt.Columns.Count; k++)
                {
                    cell = row.GetCell(k) ?? row.CreateCell(k);
                    cell.SetCellValue(dt.Columns[k].ColumnName);
                }
            }


            for (int i = 0; i != dt.Rows.Count; i++)
            {
                sheet = book.GetSheetAt(i / 50000);
                row = sheet.GetRow(i - (i / 50000) * 50000 + 1) ?? sheet.CreateRow(i - (i / 50000) * 50000 + 1);
                for (int k = 0; k != dt.Columns.Count; k++)
                {
                    cell = row.GetCell(k) ?? row.CreateCell(k);

                    if (dt.Rows[i][k] != DBNull.Value)
                    {
                        cell.SetCellValue(dt.Rows[i][k].ToString());
                    }
                }
            }

一般思路是打开已存的Excel,复制里面的架构到另一个Excel的新Sheet,然后复制数据过去.

如果是全部复制一个新的Excel的话,可以考e799bee5baa6e78988e69d83338虑直接使用            System.IO.File.Copy方法.


自已再慢慢摸索一下吧 

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网