0

DataTableにインポートしているExcelドキュメントがあります。価格列には、小数点以下4桁の数値があります(例:1234.2300)。インポートを実行すると、列タイプがint32であり、先行ゼロ(1234.23など)が失われていることがわかります。インポート時にゼロを維持したいと思います。DataTableのDataTypeを変更するにはどうすればよいですか?

oConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;data source=" + SavedFile + ";Extended Properties=Excel 12.0;");

                foreach (string sheet in sheets)
                {
                    if (!string.IsNullOrEmpty(sheet))
                    {
                        string query = string.Format("Select * from [{0}$]", sheet);
                        OleDbDataAdapter cmd = new OleDbDataAdapter(query, oConn);

                        oDS.Locale = CultureInfo.CurrentCulture;
                        cmd.Fill(oDS);
                        cmd = null;
                    }
                }
4

1 に答える 1

0

列ヘッダーを右クリックして [セルの書式設定] を選択し、新しいメニューで [テキスト] を選択して、Excel の列の種類を変更します。
それを行うと、数値が文字列として返されるため、末尾のゼロが残ります。

于 2012-08-28T12:38:26.343 に答える