本文介绍如何使用spire.xls for java将工作表按照数据拆分成多个工作表。
原文档截图如下:
import com.spire.xls.cellrange;
import com.spire.xls.excelversion;
import com.spire.xls.workbook;
import com.spire.xls.worksheet;
public class splitworksheetintomultisheets {
public static void main(string[] args) {
//创建workbook对象,加载excel文档
workbook bookoriginal = new workbook();
bookoriginal.loadfromfile("c:\\users\\administrator\\desktop\\employees.xlsx");
//获取第一个工作表
worksheet sheet = bookoriginal.getworksheets().get(0);
//获取标题行
cellrange headrow = sheet.getcellrange(1, 1, 1, 5);
//获取两个数据区域
cellrange range1 = sheet.getcellrange(2, 1, 6, 5);
cellrange range2 = sheet.getcellrange(7, 1, 11, 5);
//添加一个工作表,命名为“销售部”
worksheet sheet2 = bookoriginal.getworksheets().add("销售部");
//将标题行和数据区域1复制到“销售部”工作表
sheet.copy(headrow, sheet2, 1, 1, true, false);
sheet.copy(range1, sheet2, 2, 1, true, false);
//添加一个工作表,命名为“技术部”
worksheet sheet3 = bookoriginal.getworksheets().add("技术部");
//将标题行和数据区域2复制到“技术部”工作表
sheet.copy(headrow, sheet3, 1, 1, true, false);
sheet.copy(range2, sheet3, 2, 1, true, false);
//将第一个工作表中的列宽应用到新加的两个做工作表
for (int i = 0; i < sheet.getlastcolumn(); i ) {
sheet2.setcolumnwidth(i 1, sheet.getcolumnwidth(i 1));
sheet3.setcolumnwidth(i 1, sheet.getcolumnwidth(i 1));
}
//保存文档
bookoriginal.savetofile("splited.xlsx", excelversion.version2016);
}
}
结果文档: