翻譯|使用教程|編輯:吉煒煒|2024-12-24 14:00:10.933|閱讀 135 次
概述:在 Microsoft Excel 中,復制行、列和單元格是日常數據處理中的常見操作。本文將介紹如何使用 Spire.XLS for Java 和 Java 在 Excel 中復制行、列和單元格數據并保留格式。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在 Microsoft Excel 中,復制行、列和單元格是日常數據處理中的常見操作。這些功能使用戶能夠快速復用數據和格式等內容,從而節省時間并減少手動輸入錯誤的風險。在 Java 中,開發者可以利用 Spire.XLS for Java 庫輕松實現 Excel 行、列和單元格的復制并保留原有格式。本文將介紹如何使用 Spire.XLS for Java 和 Java 在 Excel 中復制行、列和單元格數據并保留格式。
首先,您需要將 Spire.Xls.jar 文件作為依賴項添加到您的 Java 程序中。可以從下載 JAR 文件。如果您使用 Maven,您可以通過將以下代碼添加到項目的 pom.xml 文件中輕松地在應用程序中導入 JAR 文件。
要在 Excel 中復制行并保留格式,你可以使用 Worksheet.copyRow(CellRange sourceRow, Worksheet destSheet, int destRowIndex, EnumSet<CopyRangeOptions> copyOptions) 方法。具體步驟如下:
import com.spire.xls.*; import java.util.EnumSet; public class CopyRows { public static void main(String[] args) { // 創建Workbook對象 Workbook workbook = new Workbook(); // 加載Excel文件 workbook.loadFromFile("示例.xlsx"); // 獲取源工作表 Worksheet sheet1 = workbook.getWorksheets().get(0); // 獲取目標工作表 Worksheet sheet2 = workbook.getWorksheets().get(1); // 獲取要復制的行 CellRange row = sheet1.getRows()[0]; // 將行從源工作表復制到目標工作表 sheet1.copyRow(row, sheet2, 1, EnumSet.of(CopyRangeOptions.All)); int columns = sheet1.getColumns().length; // 將源行中單元格的列寬復制到目標行 for (int i = 0; i < columns; i++) { double columnWidth = row.getColumns()[i].getColumnWidth(); sheet2.getRows()[0].getColumns()[i].setColumnWidth(columnWidth); } // 保存工作簿到文件 workbook.saveToFile("復制行.xlsx", ExcelVersion.Version2016); workbook.dispose(); } }
要在 Excel 中復制列并保留格式,可以使用 Worksheet.copyColumn(CellRange sourceColumn, Worksheet destSheet, int destColIndex, EnumSet<CopyRangeOptions> copyOptions) 方法。具體步驟如下:
import com.spire.xls.*; import java.util.EnumSet; public class CopyColumns { public static void main(String[] args) { // 創建Workbook對象 Workbook workbook = new Workbook(); // 加載Excel文件 workbook.loadFromFile("示例.xlsx"); // 獲取源工作表 Worksheet sheet1 = workbook.getWorksheets().get(0); // 獲取目標工作表 Worksheet sheet2 = workbook.getWorksheets().get(1); // 獲取要復制的列 CellRange column = sheet1.getColumns()[0]; // 將列從源工作表復制到目標工作表 sheet1.copyColumn(column, sheet2, 1, EnumSet.of(CopyRangeOptions.All)); int rows = column.getRows().length; // 將源列中單元格的行高復制到目標列 for (int i = 0; i < rows; i++) { double rowHeight = column.getRows()[i].getRowHeight(); sheet2.getColumns()[0].getRows()[i].setRowHeight(rowHeight); } // 保存工作簿到文件 workbook.saveToFile("復制列.xlsx", ExcelVersion.Version2016); workbook.dispose(); } }
除了復制行和列外,Spire.XLS for Java 還提供了 CellRange.copy(CellRange destRange, EnumSet<CopyRangeOptions> copyOptions) 方法,支持復制特定單元格或單元格區域。具體步驟如下:
import com.spire.xls.*; import java.util.EnumSet; public class CopyCells { public static void main(String[] args) { // 創建Workbook對象 Workbook workbook = new Workbook(); // 加載Excel文件 workbook.loadFromFile("示例.xlsx"); // 獲取源工作表 Worksheet sheet1 = workbook.getWorksheets().get(0); // 獲取目標工作表 Worksheet sheet2 = workbook.getWorksheets().get(1); // 獲取源單元格區域 CellRange range1 = sheet1.getCellRange("A1:E7"); // 獲取目標單元格區域 CellRange range2 = sheet2.getCellRange("A1:E7"); // 將源單元格區域復制到目標單元格區域 range1.copy(range2, EnumSet.of(CopyRangeOptions.All)); // 將源單元格區域的行高和列寬復制到目標單元格區域 for (int i = 0; i < range1.getRows().length; i++) { CellRange row = range1.getRows()[i]; for (int j = 0; j < row.getColumns().length; j++) { CellRange column = row.getColumns()[j]; range2.getRows()[i].getColumns()[j].setColumnWidth(column.getColumnWidth()); range2.getRows()[i].setRowHeight(row.getRowHeight()); } } // 保存工作簿到文件 workbook.saveToFile("復制單元格.xlsx", ExcelVersion.Version2016); workbook.dispose(); } }
歡迎下載|體驗更多E-iceblue產品
獲取更多信息請咨詢 ;技術交流Q群(767755948)
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網