2017-02-02 5 views
0

OfficeOpenXmlライブラリを使用してC#でExcelファイルを作成しています。具体的には、特定のセルのデータ型をプログラムでEURに設定する必要があります。たとえば、1234.5は1234.5ユーロに変換する必要があります。C#でOfficeOpenXmlを使用してExcelセルでデータ型を設定

UIを使用すると、この操作は、右クリック - >セルの書式設定 - >数値 - >通貨 - >記号(添付の画像を参照)がかなり簡単です。 enter image description here

以下は私のコードです。どのようにそれを行う上で任意の手掛かり?

string fullpath = @"\\SOME_PATH\test_file.xlsx"; 

// if file exists, overwrite 
if (File.Exists(fullpath)) 
    File.Delete(fullpath); 

var pck = new ExcelPackage(new FileInfo(fullpath)); 

var workSheet = pck.Workbook.Worksheets.Add("contract summary"); 

workSheet.Cell(1, 1).DataType = "Currency"; // this does not work. 

workSheet.Cell(1, 1).Value = 1234.5.ToString(); 
+0

通貨はExcelデータ型ではありません。Excel形式です。セルの値は画面に表示される方法にのみ影響します。 –

+0

@Charlesありがとう、このプロパティはC#を使用してアクセス可能な場合は知っていますか? – Nic

+0

申し訳ありません - 私はOpenXMLライブラリの使用に慣れていません。フォーマットまたはスタイルのいずれかを探します。 –

答えて

0

次のコードをテストしたところ、using Excel = Microsoft.Office.Interop.Excel;ライブラリでカスタムフォーマットが正常に作成されました。

workSheet.Cells[1, 1].NumberFormat = "#,###,###.00 €"; 

私はそれがまた、列、行、またはセルのグループで使用できると信じています。

Microsoft.Office.Interop.Excelはどのように似ているのかよく分かりませんが、OpenOfficeXMLには少なくとも向いています。

関連する問題