0
Excel 2016からC#windowsアプリケーションを読み込みたいアプリケーションで作業しています。私が書いたコード(コードについては以下を参照)は、Excelファイルが開いているときにうまく動作します。しかし、Excelファイルが開かれていないときにコードを実行すると、OleDbexceptionがスローされます。「外部表は期待された形式ではありません。Excel 2016からC#Windowsアプリケーションまでのデータの読み出し
using System.Data.OleDb;
using System;
namespace ExcelRead
{
class Program
{
static void Main(string[] args)
{
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='D:\Practice.xlsx';Extended Properties='Excel 8.0;HDR=Yes;'");
con.Open();
OleDbCommand cmd = new OleDbCommand("select * from [sheet1$];", con);
OleDbDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
Console.WriteLine(dr.GetString(0) + "\t" + dr.GetString(1) + "\t" + dr.GetString(2));
}
Console.ReadKey();
}
}
}
それでも同じ例外がスローされます。 –
@Ashis、接続文字列に "IMEX = 1"を使用してください。 –