ユーザーがさまざまな形式にエクスポートできるデータ (計算結果) の表があります。私は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で定義されたままです。)
.Style
and .Styles
toなどを設定してみ"Number"
ました。これで問題は解決しません。
Range
また、セルの やを保護しようとしましたexcelWorkSheet
。これでも問題は解決しません。
誰かがC#を介してVBA マクロ/サブを呼び出すことを提案しましたが、それを調べた後、それは非常に単純な (または安定した) パスではないという印象を受けました。
この問題を解決するための助けを探していますInterop.Excel
。
ルクン