import java.io.*; import com.aspose.cells.*; public class HtmlToExcel { public static boolean getLicense() { boolean result = false; try { InputStream is = HtmlToExcel.class.getClassLoader().getResourceAsStream("license.xml"); // license.xml应放在..\WebRoot\WEB-INF\classes路径下 License aposeLic = new License(); aposeLic.setLicense(is); result = true; } catch (Exception e) { e.printStackTrace(); } return result; } public static String readFileContent(String fileName) { File file = new File(fileName); BufferedReader reader = null; StringBuffer sbf = new StringBuffer(); try { reader = new BufferedReader(new FileReader(file)); String tempStr; while ((tempStr = reader.readLine()) != null) { sbf.append(tempStr); } reader.close(); return sbf.toString(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { e1.printStackTrace(); } } } return sbf.toString(); } public static void main(String[] args) throws Exception { if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生 return; } String html = readFileContent("d:\\test.htm"); ByteArrayInputStream bais = new ByteArrayInputStream(html.getBytes()); String path = "d:\\test.xlsx"; FileOutputStream fos = new FileOutputStream(path); // 加载选项,html,否则会出错 LoadOptions lo = new LoadOptions(LoadFormat.HTML); Workbook workbook = new Workbook(bais, lo); workbook.getWorksheets().get(0).setGridlinesVisible(true); // 显示网格线 workbook.getWorksheets().get(0).getHyperlinks().clear();// 清除超链接 workbook.getWorksheets().get(0).autoFitColumns();// 设置自适应列宽 // 输出保存 workbook.save(fos, SaveFormat.XLSX); fos.close(); workbook.dispose(); } }