Commit 9acbfe59 authored by alex yao's avatar alex yao

fix:Excel文件加载问题

parent a3fd0216
...@@ -2,6 +2,8 @@ package cn.com.poc.common.utils; ...@@ -2,6 +2,8 @@ package cn.com.poc.common.utils;
import cn.com.yict.framemax.core.i18n.I18nMessageException; import cn.com.yict.framemax.core.i18n.I18nMessageException;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.read.builder.ExcelReaderBuilder;
import io.github.furstenheim.*; import io.github.furstenheim.*;
import org.apache.pdfbox.io.RandomAccessBufferedFileInputStream; import org.apache.pdfbox.io.RandomAccessBufferedFileInputStream;
import org.apache.pdfbox.pdfparser.PDFParser; import org.apache.pdfbox.pdfparser.PDFParser;
...@@ -34,6 +36,7 @@ import java.net.URL; ...@@ -34,6 +36,7 @@ import java.net.URL;
import java.net.URLConnection; import java.net.URLConnection;
import java.nio.file.Files; import java.nio.file.Files;
import java.util.Iterator; import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
public class DocumentLoad { public class DocumentLoad {
...@@ -48,33 +51,22 @@ public class DocumentLoad { ...@@ -48,33 +51,22 @@ public class DocumentLoad {
public static String excelToMarkdown(File file) { public static String excelToMarkdown(File file) {
try { try {
FileInputStream inputStream = new FileInputStream(file); FileInputStream inputStream = new FileInputStream(file);
Workbook workbook = new XSSFWorkbook(inputStream); List<Object> objects = EasyExcel.read(inputStream)
Sheet sheet = workbook.getSheetAt(0); .sheet()
.doReadSync();
Iterator<Row> rowIterator = sheet.iterator();
StringBuilder markdown = new StringBuilder(); StringBuilder markdown = new StringBuilder();
int rowCount = objects.size();
while (rowIterator.hasNext()) { for (int i = 0; i < rowCount; i++) {
Row row = rowIterator.next(); LinkedHashMap linkedHashMap = (LinkedHashMap) objects.get(i);
Iterator<Cell> cellIterator = row.iterator(); int cellCount = linkedHashMap.size();
for (int j = 0; j < cellCount; j++) {
while (cellIterator.hasNext()) { markdown.append("| ").append(linkedHashMap.get(j));
Cell cell = cellIterator.next();
if (cell.getCellType() == CellType.STRING) {
markdown.append("| ").append(cell.getStringCellValue());
} else if (cell.getCellType() == CellType.NUMERIC) {
markdown.append("| ").append(cell.getNumericCellValue());
} else {
markdown.append("| ").append("");
}
} }
markdown.append("|\n"); markdown.append("|\n");
} }
// 添加Markdown表格分隔线 // 添加Markdown表格分隔线
markdown.insert(0, "|\n|--|--|\n"); markdown.insert(0, "|\n|--|--|\n");
workbook.close();
inputStream.close(); inputStream.close();
return markdown.toString(); return markdown.toString();
} catch (IOException e) { } catch (IOException e) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment