Im чтение файла XLSX в БД, чтобы сделать некоторую работучтения дб, как весь текст
я заметил, что его чтение некоторых feilds в качестве ИНТ и дату, даже если я просто хочу, чтобы все это прийти в виде текста. есть ли способ переопределить эту функцию?
Код ниже
(не стесняйтесь указать на что-нибудь я мог бы делать лучше с моим кодом, а)
private DataSet ExceltoDT(OpenFileDialog dialog)
{
try
{
string connst = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dialog.FileName + ";Extended Properties=\"Excel 12.0 Xml;HDR=NO\";";
string sheet = "Sheet1$";
string strSQL = "SELECT * FROM [" + sheet + "]";
//string Table = "081710";
OleDbConnection xlsdb = new OleDbConnection(connst);
xlsdb.Open();
OleDbDataAdapter adp = new OleDbDataAdapter(strSQL, xlsdb);
DataSet ds2 = new DataSet();
adp.Fill(ds2);
adp.Dispose();
xlsdb.Close();
xlsdb.Dispose();
return ds2;
}
catch (StackOverflowException stack_ex2)
{
MessageBox.Show("(2007 Excel file) Stack Overflowed!" + "\n" + stack_ex2.Message);
return null;
}
catch (OleDbException ex_oledb2)
{
MessageBox.Show("An OleDb Error Thrown!" + "\n" + ex_oledb2.Message);
return null;
}
}
ли вы хороший пример старого api для чтения xls или xlsx? – Crash893
Здесь вы можете найти API Excel: http://msdn.microsoft.com/en-us/library/aa209782(office.10).aspx PS: Это OLE, а не «старый» :-) –