拡張子xlsmでの出力

3,456 views
Skip to first unread message

San Muu

unread,
May 28, 2012, 10:06:47 AM5/28/12
to exc...@googlegroups.com
はじめまして、村上と申します。

マクロを埋め込んだ拡張子xlsmのExcelのテンプレートファイルを使用して、拡張子xlsmのExcel帳票を出力したいと思っていますが、
それは可能でしょうか。

下記のように、ReportBookのコンストラクタの第3引数にExcelExporter.FORMAT_TYPEを指定すると、
拡張子がxlsxになってしまいます。

JavaDocを見ると、ExcelExporterがFORMAT_TYPE以外に用意しているものは、EXTENTION_XLSとEXTENSION_XLSXのみなので、

xlsmでの出力はできないのかと思っています。

---------------------------------------
String dirPath = "C:/test/";
String templateFileFullPath =  dirPath   + "excellaTemplate.xlsm";
String outputFileFullPath =  dirPath  + "output";
ReportBook reportBook =new ReportBook(templateFileFullPath,outputFileFullPath,ExcelExporter.FORMAT_TYPE);
---------------------------------------

よろしくお願いいたします。

横井@bbreak

unread,
May 28, 2012, 9:46:27 PM5/28/12
to exc...@googlegroups.com
はじめまして。横井です。

拡張子だけの問題ならと、xlsm用のexporter(添付)を作って試してみました。
xlsmファイルの読み込みは問題なく行えたものの、出力したファイルは
「読み取れない内容が含まれている・・・」とエラーになってしまいました。

POI的にはサポートしているようなので、行けそうな気はしますが
あまり試している時間もないので・・・
試してみて何か分かれば是非お知らせください!

String outputFileName = "xlsmサンプル";
String outputFileDir = "C:/work/";
String outputFilePath = outputFileDir.concat( outputFileName);
ReportBook outputBook = new ReportBook( templateFilePath, outputFilePath, XLSMExporter.FORMAT_TYPE);

ReportProcessor reportProcessor = new ReportProcessor();
reportProcessor.addReportBookExporter( new XLSMExporter());
reportProcessor.process( outputBook);

以上、よろしくお願いします。

2012年5月28日月曜日 23時06分47秒 UTC+9 San Muu:
XLSMExporter.java

San Muu

unread,
May 29, 2012, 12:58:18 AM5/29/12
to exc...@googlegroups.com
横井様

ありがとうございます。

こちらで試してみたところ、出力したファイルがxlsxになってしまいました。

そこで、試しにいただいたサンプルの
reportProcessor.addReportBookExporter( new XLSMExporter()); 
の直前で、
reportProcessor.clearReportBookExporter();
を実行して標準で設定されているエクスポータをクリアしたところ、
xlsmが出力され、ファイルも問題なく開くことができました。

とりあえず試してみた結果ですが、取り急ぎ返信させていただきました。

2012年5月29日火曜日 10時46分27秒 UTC+9 横井@bbreak:

横井@bbreak

unread,
May 29, 2012, 4:13:32 AM5/29/12
to excella
村上さん

上手くいって何よりです!
もし共有できそうな是非があれば是非お知らせください。

On 5月29日, 午後1:58, San Muu <muusan.twit...@gmail.com> wrote:
> 横井様
>
> ありがとうございます。
>
> こちらで試してみたところ、出力したファイルがxlsxになってしまいました。
>
> そこで、試しにいただいたサンプルの
> *reportProcessor.addReportBookExporter( new XLSMExporter());*
> の直前で、
> reportProcessor.clearReportBookExporter();
> を実行して標準で設定されているエクスポータをクリアしたところ、
> xlsmが出力され、ファイルも問題なく開くことができました。
>
> とりあえず試してみた結果ですが、取り急ぎ返信させていただきました。
>
> 2012年5月29日火曜日 10時46分27秒 UTC+9 横井@bbreak:
>
>
>
>
>
>
>
>
>
> > はじめまして。横井です。
>
> > 拡張子だけの問題ならと、xlsm用のexporter(添付)を作って試してみました。
> > xlsmファイルの読み込みは問題なく行えたものの、出力したファイルは
> > 「読み取れない内容が含まれている・・・」とエラーになってしまいました。
>
> > POI的にはサポートしているようなので、行けそうな気はしますが
> > あまり試している時間もないので・・・
> > 試してみて何か分かれば是非お知らせください!
>
> > String outputFileName = "xlsmサンプル";
> > String outputFileDir = "C:/work/";
> > String outputFilePath = outputFileDir.concat( outputFileName);
> > ReportBook outputBook = new ReportBook( templateFilePath, outputFilePath,
> > *XLSMExporter.FORMAT_TYPE*);
>
> > ReportProcessor reportProcessor = new ReportProcessor();
> > *reportProcessor.addReportBookExporter( new XLSMExporter());*
Reply all
Reply to author
Forward
0 new messages