2

ユーザーがさまざまな形式にエクスポートできるデータ (計算結果) の表があります。私はInterop.Excel、データを含むテーブルを準備し、データを使用して、視覚的な書式設定 (フォント、色など) を使用して書式設定するために使用しますNumberFormat。例:

cellRange.NumberFormat = "#,##0";

テーブルをExcelファイルとして保存すると、 .xlsxおよび.xlsにエクスポートするときにすべての書式設定が問題ありません。

excelWorkBook.SaveAs(exportFileName, Excel.XlFileFormat.xlOpenXMLWorkbook); // for .xlsx
excelWorkBook.SaveAs(exportFileName, Excel.XlFileFormat.xlExcel8); // for .xls

また、ユーザーがExcel ファイルを開かなくても、アプリケーションからこのテーブルを.pdfおよび.xpsにエクスポートできるようにしたいと考えています。でテーブルを準備したのでInterop.Excel、同じテーブルをこれらのファイル形式にエクスポートしてみました。

excelWorkBook.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF,exportFileName); // for .pdf
excelWorkBook.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypeXPS,exportFileName); // for .xps

これらはどちらも、すべてNumberFormatsが失われて double の長い 10 進数値になることを除いて、適切なドキュメントになります。これは、顧客のデータの要約には適していません。(色とフォントは.pdf.xpsで定義されたままです。)

.Styleand .Stylestoなどを設定してみ"Number"ました。これで問題は解決しません。

Rangeまた、セルの やを保護しようとしましたexcelWorkSheet。これでも問題は解決しません。

誰かがC#を介してVBA マクロ/サブを呼び出すことを提案しましたが、それを調べた後、それは非常に単純な (または安定した) パスではないという印象を受けました。

この問題を解決するための助けを探していますInterop.Excel

ルクン

4

1 に答える 1