【发布时间】:2011-08-01 09:23:01
【问题描述】:
如何使用 Java SE 计算 Microsoft Excel 文件中的工作表数量?
【问题讨论】:
标签: java excel excel-2003
如何使用 Java SE 计算 Microsoft Excel 文件中的工作表数量?
【问题讨论】:
标签: java excel excel-2003
Java SE 中没有与 MS Excel 接口的标准类/库文件。在Apache POI 中,您可以使用HSSFWorkbook.getNumberOfSheets() 方法返回工作簿中的工作表编号。
要打开 Excel 文件并获取 HSSFWorkbook,请执行以下操作:
String fileName = "C://Excel.xls";
POIFSFileSystem fileSystem = new POIFSFileSystem(new FileInputStream(fileName));
HSSFWorkbook workbook = new HSSFWorkbook(fileSystem);
【讨论】:
在WritableWorkbook 类中使用getNumberOfSheets()。
看看这些:
jxl.Workbook;
jxl.write.Label;
jxl.write.WritableSheet;
jxl.write.WritableWorkbook;
http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/jxl/write/WritableWorkbook.html
【讨论】:
getNumberOfSheets()
使用以下代码获取工作表数量
FileInputStream file = new FileInputStream(new File(FILE PATH));
XSSFWorkbook workbook = new XSSFWorkbook(file);
System.out.println("number of sheet::"+ workbook.getNumberOfSheets());
【讨论】:
您可以使用xlsx4j 进行计数。这是我的代码:
public static void main(String[] args) throws InvalidFormatException, Docx4JException {
SpreadsheetMLPackage spPackage = SpreadsheetMLPackage.load(new File("D:/MyFile.xlsx"));
List<Sheet> sheetList = spPackage.getWorkbookPart().getJaxbElement().getSheets().getSheet();
System.out.println("Number of worksheet: "+ sheetList.size());
System.out.println("Sheet name: ");
for (Sheet sheet : sheetList) {
System.out.println(sheet.getName());
}
【讨论】:
public int getNumberOfSheets(File)throws Exception{
FileInputStream fileInputStream = new FileInputStream(file);
HSSFWorkbook workbook = new HSSFWorkbook(fileInputStream);
int number_of_sheets = workbook.getNumberOfSheets();
return number_of_sheets
}
以上是获取xls工作簿中工作表数量的简单方法
【讨论】: