「ほっ」と。キャンペーン
(.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に貼り付ける方法です。
[PR]
by jehoshaphat | 2010-06-26 12:53 | OpenOffice | Trackback | Comments(0)
トラックバックURL : http://jehupc.exblog.jp/tb/12862159
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。


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