We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

C# Excell里的sheet1固定列复制到sheet2里面

您好,我想实现 Excell里的sheet1固定列复制到sheet2里面,使用Aspose.Cells该如何实现呢,感谢您的支持,谢谢。

下面的图片是原始数据,我想将全宗号,目录号,案卷号,分卷号复制到sheet2里面。
QQ截图20210906144748.png (244.6 KB)
QQ截图20210906145106.png (287.0 KB)

实现的效果
QQ截图20210906145248.png (139.7 KB)

谢谢您的支持。

@fhn123456,

如果您需要将单元格中的特定数据从一个工作表复制到另一个工作表,请尝试使用 Range.Copy() 方法来完成任务。 请参阅有关 [复制范围] 的文档以供参考。

此外,您甚至可以复制 Excel 电子表格中的整列或整行,请参阅 [复制行和列] 中包含示例代码的文档以供您参考。

如果您仍有任何困惑,请分享您输入的 Excel 文件和输出(所需的)Excel 文件以供参考,我们将进一步检查并帮助您。

附注。 请在附加到此处之前压缩文件。

我使用了复制多行,发现无法根据列名获取一列数据,我分享了原文件,谢谢您。数据.zip (607.6 KB)

@fhn123456,

如何使用 Aspose.Cells API 在工作表之间复制单元格/行/列? 请分享您(当前)正在使用的示例代码(可运行),我们将尽快对其进行检查。

以下是我的代码,我想通过列名获得多列数据

        // 通过加载现有的电子表格创建工作簿类的实例
        Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(@"E:\桌面\陕西数字化加工\规则1\QWER00000024JH.xls");

        // 按名称列获取工作表的单元格集合
        Aspose.Cells.Cells cells = workbook.Worksheets["Columns"].Cells;

        // 复制前三栏第七栏
        cells.CopyColumns(cells, 0, 6, 3);

        // Save the result on disc
        workbook.Save("output_out.xlsx");

@fhn123456,
你能分享一下哪个文件用作输入吗? 更新您的代码并提供正确的文件名、工作表名称以及程序输出和预期输出供我们参考。 我们将在此处重现该场景并相应地分享我们的反馈。

数据.zip (607.6 KB)
解压数据这个压缩包,原始.xls是输入数据,成品.xls是输出数据

@fhn123456,

我在您提供的 MS Excel 文件中看不到数据。 因此,我通过理解您附加的屏幕截图在 MS Excel(附件)中创建了一个示例文件来演示您的任务。 请打开文件“Bk_copycols1.xlsx”并注意不同列和工作表中的数据。 我设计了一个代码段来完成你的任务。 请参考带有注释的示例代码来理解它并用我的模板文件执行它以生成输出文件(附上)。 现在打开输出文件查看结果。
例如
示例代码:

Workbook workbook = new Workbook("e:\\test2\\Bk_copycols1.xlsx");                 
          Cells cellsSheet1 = workbook.Worksheets["Sheet1"].Cells;
          //Create range based on first 4 columns data in Sheet1
          Range range1 = cellsSheet1.CreateRange("A1:D2");

          //Create your destination (new) workbook.
          Workbook workbook1 = new Workbook();
          Worksheet worksheet = workbook1.Worksheets[0];
          //create destination range
          Range drange1 = worksheet.Cells.CreateRange("A1:D2");
          drange1.Copy(range1);          
          //Fill same rows below accordingly
          Range drange1_1 = worksheet.Cells.CreateRange("A2:D2");
          Range drange1_1_1 = worksheet.Cells.CreateRange("A3:D7");
          drange1_1_1.Copy(drange1_1);
        

          //Find the ColX in Sheet1 of source workbook
          Cell cellSheet1 = cellsSheet1.Find("ColX",null);
          //create new Range 
          Range range2 = cellsSheet1.CreateRange(cellSheet1.Row, cellSheet1.Column, 2, 1);//F1:F2
          
          //create new destination range in destination workbook
          Range drange2 = worksheet.Cells.CreateRange("E1:E2");
          drange2.Copy(range2);
          //Fill same data to 7th row accordingly
          Range drange2_1 = worksheet.Cells.CreateRange("E2");
          Range drange2_1_1 = worksheet.Cells.CreateRange("E3:E7");
          drange2_1.Copy(drange2_1_1);

          //Now copy column from first column (ColA) from sheet2(you may find by column name using Find method as above code)
          //first insert a blank column @ E
          worksheet.Cells.InsertColumn(4);
          worksheet.Cells.CopyColumn(workbook.Worksheets["Sheet2"].Cells, 0, 4); 

          workbook1.Save("e:\\test2\\out1.xlsx");

示例代码仅供参考,让您了解完成任务的不同方式。 请参考上面的示例,并根据您的自定义需求自行编写自己的代码。
files1.zip (13.1 KB)