人気ブログランキング | 話題のタグを見る
(.Net,OpenOffice)Calcでは通貨の円記号が全角になる。
OpenOffice Calcでコピーしたセル値をDataGridViewに貼りつける部分をコーディングしてました。
Calc側のセルの書式設定が通貨になってたんで、プログラム側でint型にキャストするように下記のようなコードを書いてました。

CultureInfo cul = CultureInfo.CurrentCulture;
NumberStyles style = NumberStyles.AllowCurrencySymbol |
NumberStyles.AllowLeadingSign |
NumberStyles.AllowThousands;
int pay;
if (int.TryParse(vals[i], style, cul, out pay))
{
//DataGridViewセルに貼り付け
DataGridView1[ 0 , 0].Value = pay;
}

しかし、TryParseでエラーとなります。

調べてみると、Calcの通貨記号(¥)が全角となってました。
強制的にCalcを半角にすると、書式がおかしくなります。
Excelは半角の記号なんですけどね。。


とりあえず、全角¥を置換するようにしました。

参考:
(.Net)DataGridViewのセル入力チェック(CellValidating)でハマる が TryPerse で解決 通貨書式文字列をintに変換する方法です。

dobon:DataGridViewで選択されたセルをクリップボードにコピーできるようにする クリップボードの内容をDataGridViewに貼り付ける方法です。
by jehoshaphat | 2010-06-26 12:53 | OpenOffice


<< ドメインコントローラでオブジェ... (OpenOffice)Cal... >>