Excel シートからデータを読み取るために Microsoft.ACE.OLEDB.12.0 プロバイダーを使用しています。私はデータを取得するために使用OleDbDataReader
しGetValue()
ています。最初の行/行 (複数可能) は文字列ヘッダーであり、スキップできません。次は小数点以下0桁に設定された数値データですが、そのうちの1つを選択すると、正しい小数点形式でバーに表示されます。
この混合データを、Excel の棒グラフのように完全な元の 10 進数形式で読み取るにはどうすればよいですか? Excelシートの設定を変更できません。
これが私のコードです:
using System.Data.OleDb;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
string query = "SELECT * FROM [List1$]";
string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\Temp\Test.xls;Extended Properties=""Excel 12.0;HDR=NO;IMEX=1""";
using (OleDbConnection connection = new OleDbConnection(connString))
{
connection.Open();
using (OleDbCommand command = new OleDbCommand(query, connection))
{
using (OleDbDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
object value = reader.GetValue(0);
}
}
}
}
}
}
}