Я хочу получить доступ к файлу excel и показать данные в консольном приложении
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Data.OleDb; using System.Data; using Microsoft.Office.Interop.Excel; using Excel = Microsoft.Office.Interop.Excel; namespace ClassLibrary3 { class FileManager { private System.Data.DataTable GetDataTable(string sql, string connectionString) { System.Data.DataTable dt = null; using (OleDbConnection conn = new OleDbConnection(connectionString)) { conn.Open(); using (OleDbCommand cmd = new OleDbCommand(sql, conn)) { using (OleDbDataReader rdr = cmd.ExecuteReader()) { dt.Load(rdr); return dt; } } } } public void GetExcel() { string fullPathToExcel = "C:\\cdr.xls" ; //ie C:\Temp\YourExcel.xls string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=yes'", fullPathToExcel); System.Data.DataTable dt = GetDataTable("SELECT * from [SheetName$]", connString); //foreach (DataRow dr in dt.Rows) //{ // //Do what you need to do with your data here //} } } }
class Program { public static void Main(string [] args) { //FileManager fichier = new FileManager(); GetExcel a =new GetExcel(); Console.WriteLine(a); Console.ReadKey(); //DataSet d = fichier.ReadExcelFile(); } } }
Что я уже пробовал:
я попробовал это решение, но оно не будет работать должным образом.
Richard Deeming
DataTable dt = null; ... dt.Load(rdr);
Как вы думаете, что произойдет, когда вы попытаетесь вызвать метод по нулевой ссылке?