main
黄海 8 months ago
parent 933b3501a8
commit d16e2e2495

@ -488,4 +488,37 @@ public class ExcelKit {
System.out.println();
}
}
public static void ReadChart(String sourceWord) throws IOException, InvalidFormatException {
InputStream is = new FileInputStream(sourceWord);
ZipSecureFile.setMinInflateRatio(-1.0d);
XWPFDocument doc = new XWPFDocument(is);
//直接输出图表数量
System.out.println("doc.getCharts=" + doc.getCharts().size());
List<XWPFChart> chartList = doc.getCharts();
//排序后的图表
chartList = ExcelKit.getSortListForXWPFChart(chartList);
//遍历输出
for (int i = 0; i < chartList.size(); i++) {
XWPFChart chart = chartList.get(i);
XSSFWorkbook workbook = chart.getWorkbook();
System.out.println(workbook.getNumberOfSheets());
XSSFSheet sheet = workbook.getSheetAt(0);
System.out.println("序号=" + (i + 1) + ",sheet名称=" + sheet.getSheetName());
if (sheet.getPhysicalNumberOfRows() == 0) {
System.out.println("===第" + (i + 1) + "个图表需要人工编辑一下Sheet名称否则无法读取===");
System.exit(0);
}
for (Row row : sheet) {
for (Cell cell : row) {
System.out.print(ExcelKit.readCell(cell) + "\t");
}
System.out.println();
}
}
//关闭流
is.close();
}
}

@ -14,38 +14,11 @@ import java.util.List;
public class TestSingle {
public static void main(String[] args) throws IOException, InvalidFormatException, InterruptedException {
//String sourceWord = "c:/保山市人口变化及其对教育的影响20240507.docx";
String sourceWord = "c:/西双版纳州人口变化及其对教育的影响20240420.docx";
String sourceWord = "D:\\dsWork\\YunNanDsBase\\Doc\\全省及州市县区人口与教育报告集20241023\\133个县区报告2022\\县区研究报告\\丽江市各县区报告5\\古城区\\古城区人口变化及其对教育的影响.docx";
//String sourceWord="c:/2.docx";
InputStream is = new FileInputStream(sourceWord);
ZipSecureFile.setMinInflateRatio(-1.0d);
XWPFDocument doc = new XWPFDocument(is);
//直接输出图表数量
System.out.println("doc.getCharts=" + doc.getCharts().size());
List<XWPFChart> chartList = doc.getCharts();
//排序后的图表
chartList = ExcelKit.getSortListForXWPFChart(chartList);
//遍历输出
for (int i = 0; i < chartList.size(); i++) {
XWPFChart chart = chartList.get(i);
XSSFWorkbook workbook = chart.getWorkbook();
System.out.println(workbook.getNumberOfSheets());
XSSFSheet sheet = workbook.getSheetAt(0);
System.out.println("序号=" + (i + 1) + ",sheet名称=" + sheet.getSheetName());
if (sheet.getPhysicalNumberOfRows() == 0) {
System.out.println("===第" + (i + 1) + "个图表需要人工编辑一下Sheet名称否则无法读取===");
System.exit(0);
}
for (Row row : sheet) {
for (Cell cell : row) {
System.out.print(ExcelKit.readCell(cell) + "\t");
}
System.out.println();
}
}
//关闭流
is.close();
ExcelKit.ReadChart(sourceWord);
}
}

Loading…
Cancel
Save