使用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();
}
}
}