DioDocs for Excelでは、IRangeインタフェースのFormulaLocalプロパティとFormulaR1C1Localプロパティを使用して、ワークシートのセルにローカライズされた数式を取得または設定できます。例えば、英語版のExcelでこのプロパティを使用して数式を設定すると、日本語版のExcelにて開いた場合、同等のローカライズされた数式を使用する結果が表示されます。
メモ: このプロパティは、日本語と中国語のカルチャに対してのみローカライズされた数式をサポートします。
ワークブックのカルチャを日本語に設定し、FormulaLocalプロパティを使用してASC関数とJIS関数を設定して、ローカライズされた関数名を取得する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//新しいワークブックを作成します var workbook = new GrapeCity.Documents.Excel.Workbook(); workbook.Culture = CultureInfo.GetCultureInfo("ja-JP"); var sheet = workbook.ActiveSheet; sheet.Range["$A$1:$A$3"].Value = new[,] { {"Original"}, {"ゴールドシップは1番人気です。"}, {"Halfwidth"} }; sheet.Range["A5"].Value = "Fullwidth"; var a4 = sheet.Range["A4"]; var a6 = sheet.Range["A6"]; //同等:数式= "ASC(A2)" //ASC関数は日本語環境でローカライズされた名前はありませんからです a4.FormulaLocal = "=ASC(A2)"; //同等:数式= "DBCS(A2)" //日本語環境ではDBCS関数の代わりにJIS関数が使用されます a6.FormulaLocal = "=JIS(A2)"; //さまざまな数式のプロパティを比較します sheet.Range["$B$1:$F$1"].Value = new[,] { {nameof(IRange.FormulaLocal), nameof(IRange.Formula), nameof(IRange.FormulaR1C1Local), nameof(IRange.FormulaR1C1)} }; sheet.Range["$B$4:$E$4"].Value = new[,] { {a4.FormulaLocal, a4.Formula, a4.FormulaR1C1Local, a4.FormulaR1C1} }; sheet.Range["$B$6:$E$6"].Value = new[,] { {a6.FormulaLocal, a6.Formula, a6.FormulaR1C1Local, a6.FormulaR1C1} }; //レイアウトを整列します sheet.UsedRange.Columns.AutoFit(); sheet.PageSetup.IsPercentScale = false; sheet.PageSetup.FitToPagesWide = 1; sheet.PageSetup.PrintHeadings = true; //PDFファイルに保存します workbook.Save("formulalocalandjis.pdf"); } |
上記のコードを使用して、次の画像ように結果を表示します。
メモ: Excelはマルチバイト文字列変換をサポートしていませんので、出力はPDFファイルに保存しています。