使用Aspose.Cells解析
package test; import java.io.ByteArrayInputStream; import java.io.FileOutputStream; import com.aspose.cells.LoadFormat; import com.aspose.cells.LoadOptions; import com.aspose.cells.SaveFormat; import com.aspose.cells.Workbook; import util.AsposeLicenseUtil; public class Test { public static void main(String[] args) throws Exception { if (AsposeLicenseUtil.getExcelLicense()) {// 去水印验证 String html = "<table><tbody><tr><td>11</td><td>12</td></tr><tr><td>21</td><td>22</td></tr></tbody></table>"; ByteArrayInputStream bais = new ByteArrayInputStream(html.getBytes()); String path = "C:\\test\\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(); } } }