Spire.XLS for Java

ニュース&リリース

2024-02-26

Spire.XLS for Java 14.2.4 では Kingdraw で描画された OLE オブジェクトを画像として保存することがサポートしています

Spire.XLS for Java 14.2.4のリリースをお知らせいたします。このバージョンでは、Kingdraw によって描画された OLE オブジェクトを画像として保存するためのサポートが追加されています。 さらに、Excel を PDF に変換すると内容が正しくなくなる問題など、既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREXLS-5046 Kingdraw で描画された OLE オブジェクトを画像として保存することがサポートしています。
	com.spire.xls.Workbook workbook = new com.spire.xls.Workbook();
	workbook.loadFromFile("data.xlsx");
	Worksheet sheet = workbook.getWorksheets().get(0);
	Object o =  sheet.getCellRange("C2").getFormulaValue();
	if (sheet.hasOleObjects()) {
		for (int i = 0; i < sheet.getOleObjects().size(); i++) {
			IOleObject oleObject = sheet.getOleObjects().get(i);
			OleObjectType oleObjectType = sheet.getOleObjects().get(i).getObjectType();
			byte[] picUrl = null;
			switch (oleObjectType) {
				case Emf:
					picUrl = oleObject.getOleData();;
					break;
			}
			if (picUrl != null) {
				byteArrayToFile(picUrl, "out.png");
				break;
			}
		}
	}
}

public static void byteArrayToFile(byte[] datas, String destPath) {
	File dest = new File(destPath);
	try (InputStream is = new ByteArrayInputStream(datas);
		 OutputStream os = new BufferedOutputStream(new FileOutputStream(dest, false));) {
		byte[] flush = new byte[1024];
		int len = -1;
		while ((len = is.read(flush)) != -1) {
			os.write(flush, 0, len);
		}
		os.flush();
	} catch (IOException e) {
		e.printStackTrace();
	}
}
Bug SPIREXLS-5072
SPIREXLS-5099
Excel を PDF に変換した後にコンテンツが正しくなくなる問題を修正しました。
Bug SPIREXLS-5076 コンテンツをコピーした後に画像が正しくなくなる問題を修正しました。
Bug SPIREXLS-5088 XML を Excel に変換するときに、プログラムが「A workbook must contain at least a visible worksheet」をスローする問題を修正しました。
Bug SPIREXLS-5089 setValue メソッドの Locale 設定を最適化しました。
Bug SPIREXLS-5095 テーブルをコピーするときにプログラムが「NullPointerException」をスローする問題を修正しました。
Bug SPIREXLS-5098 Excel を HTML に変換した後にテキスト コンテンツのスタイルが変更される問題を修正しました。
ここで Spire.XLS for Java 14.2.4をダウンロードする