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

fix:Excel文件加载问题

parent a3fd0216
......@@ -2,6 +2,8 @@ package cn.com.poc.common.utils;
import cn.com.yict.framemax.core.i18n.I18nMessageException;
import cn.hutool.core.io.FileUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.read.builder.ExcelReaderBuilder;
import io.github.furstenheim.*;
import org.apache.pdfbox.io.RandomAccessBufferedFileInputStream;
import org.apache.pdfbox.pdfparser.PDFParser;
......@@ -34,6 +36,7 @@ import java.net.URL;
import java.net.URLConnection;
import java.nio.file.Files;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
public class DocumentLoad {
......@@ -48,33 +51,22 @@ public class DocumentLoad {
public static String excelToMarkdown(File file) {
try {
FileInputStream inputStream = new FileInputStream(file);
Workbook workbook = new XSSFWorkbook(inputStream);
Sheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();
List<Object> objects = EasyExcel.read(inputStream)
.sheet()
.doReadSync();
StringBuilder markdown = new StringBuilder();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.iterator();
while (cellIterator.hasNext()) {
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("");
}
int rowCount = objects.size();
for (int i = 0; i < rowCount; i++) {
LinkedHashMap linkedHashMap = (LinkedHashMap) objects.get(i);
int cellCount = linkedHashMap.size();
for (int j = 0; j < cellCount; j++) {
markdown.append("| ").append(linkedHashMap.get(j));
}
markdown.append("|\n");
}
// 添加Markdown表格分隔线
markdown.insert(0, "|\n|--|--|\n");
workbook.close();
inputStream.close();
return markdown.toString();
} 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