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