Я создаю программу для чтения файла Excel в dataGridView.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;
namespace pro1._0
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string sConnecStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=c:\\Copy_of_Acute_HCV_2008.xls" + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection conObj = new OleDbConnection(sConnecStr);
conObj.Open();
OleDbCommand sqlCommand = new OleDbCommand("SELECT * FROM [Sheet1$]",conObj);
OleDbDataAdapter adaObj = new OleDbDataAdapter();
adaObj.SelectCommand = sqlCommand;
DataSet setObj = new DataSet();
adaObj.Fill(setObj);
conObj.Close();
dataGridView1.DataSource = setObj.Tables[0];
dataGridView1.Refresh();
}
}
}
Программа работает нормально, когда я использую небольшой файл Excel, но когда я использую большой файл Excel, она выдает мне эту ошибку
Произошло необработанное исключение типа 'System.Data.OleDb.OleDbException' в System.Data.dll
Дополнительная информация: 'Sheet1 $' не является допустимым именем.Убедитесь, что он не содержит недопустимых символов или знаков препинания и не слишком длинный.
спасибо
edit: я всегда использую файлы .xls, а не .xlsx