本文介绍如何使用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);
    }
}结果文档:

 



 
					



