• 大小: 6KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-05-04
  • 语言: Java
  • 标签: html  excel  poi  

资源简介

java写的可读取xls和xlsx文件生成html表格,有改动还不成熟希望大家点评支持

资源截图

代码片段和文件信息

package com.util;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcelReader {
public static List sheetnum = new ArrayList();
public String readExcel(String path) {
 StringBuffer sb = new StringBuffer();
try {
Workbook workBook = null;
            try {
         workBook = new XSSFWorkbook(path);
            } catch (Exception ex) {
            workBook = new HSSFWorkbook(new FileInputStream(path));
        } 
//           new ExcelUtil().getExcelInfo(workBook);
            int tableId=0;
            sheetnum.clear();
for (int numSheet = 0; numSheet < workBook.getNumberOfSheets(); numSheet++) {
Sheet sheet = workBook.getSheetAt(numSheet);
sheetnum.add(sheet.getSheetName());
if (sheet == null) {
continue;
}
tableId++;
Map map[] = getRowSpanColSpanMap(sheet);
sb.append(““);
sb.append(“yle=‘margin-top:5px‘>“);
// 循环行Row
 int rowId=0;
for (int rowNum = 0; rowNum <= sheet.getLastRowNum(); rowNum++) {
Row row = sheet.getRow(rowNum);
if (row == null) {
// sb.append(“  “);
continue;
}
rowId++;
sb.append(““);
// 循环列Cell
int colId=0;
for (int cellNum = 0; cellNum <= row.getLastCellNum(); cellNum++) {
Cell cell = row.getCell(cellNum);
if(isNUll(sheet cellNum)){
continue;
}
colId++;
if (cell == null) {
sb.append(“ “);
continue;
}

String stringValue = getValue(cell);
if (map[0].containsKey(rowNum + ““ + cellNum)) {

String pointString = map[0].get(rowNum + ““ + cellNum);

map[0].remove(rowNum + ““ + cellNum);

int bottomeRow = Integer.valueOf(pointString.split(““)[0]);

int bottomeCol = Integer.valueOf(pointString.split(““)[1]);

int rowSpan = bottomeRow - rowNum + 1;

int colSpan = bottomeCol - cellNum + 1;

sb.append(“ + colSpan + “‘ “);

} else if (map[1].containsKey(rowNum + ““ + cellNum)) {

map[1].remove(rowNum + ““ + cellNum);
colId = colId-1;
continue;

} else {

sb.append(“

评论

共有 条评论