] [
] [
] Я пытаюсь использовать пространство имен [][] Microsoft.Office.Interop.Excel [] [], чтобы открыть Excel файл (XSL или CSV, но, к сожалению, [] не [] XSLX) и импортируйте его в DataSet. У меня нет контроля над именами листов или столбцов, поэтому мне нужно разрешить их изменения. [
] [
] [
] Я пробовал [] метод OLEDB [] этого в в прошлом, и у него было много проблем (с ошибками, медленно и требовалось предварительное знание схемы файла Excel), поэтому я хочу избежать повторения этого снова. Я бы хотел использовать Microsoft.Office.Interop.Excel для импорта книги непосредственно в DataSet или прокручивать рабочие листы и загружать каждый из них в DataTable. [
] [
] Хотите верьте, хотите нет, но у меня был проблемы с поиском ресурсов для этого. [] Несколько поисковых запросов на StackOverflow [] обнаружили, что в основном люди пытались сделать обратное (DataSet => Excel) или технику OLEDB. Google не намного более полезен. [
] [
] [
public void Load(string filename, Excel.XlFileFormat format = Excel.XlFileFormat.xlCSV)
{
app = new Excel.Application();
book = app.Workbooks.Open(Filename: filename, Format: format);
DataSet ds = new DataSet();
foreach (Excel.Worksheet sheet in book.Sheets)
{
DataTable dt = new DataTable(sheet.Name);
ds.Tables.Add(dt);
//??? Fill dt from sheet
}
this.Data = ds;
}
] [
] Я могу либо импортировать всю книгу сразу, либо просматривать по одному листу за раз. Могу ли я сделать это с помощью Interop.Excel? [
]