У меня есть требование кЧтение Excel файлов без использования COM Interop
файлов Чтение Excel без использования COM-взаимодействия.
Найдено несколько возможных способов сделать то же самое.
Я использовал метод openxml для чтения файлов .XLSX, которые не будут работать .XLS-файлы. Так что планировалось использовать чтение ольда только для файлов .XLS.
Позже я прочитал несколько статей о проблемах, связанных с движком базы данных Jet при чтении файла Excel, Библиотека Jet не была разработана для 64-битной системы и всех.
Я разрабатываю приложение на 64-битном компьютере и нуждаюсь в развертывании на 32-битных серверах. Будут ли возникать проблемы позже?
И можно ли использовать файл Microsoft.ACE.OLEDB.12.0 для чтения файлов .XLS?
private string GetConnectionString(string filepath)
{
Dictionary<string, string> props = new Dictionary<string, string>();
// XLSX - Excel 2007, 2010, 2012, 2013
props["Provider"] = "Microsoft.ACE.OLEDB.12.0;";
props["Extended Properties"] = "Excel 12.0 XML";
//props["Data Source"] ="h:\\A_TestOpenXML.xlsx";
props["Data Source"] = "h:\\Book1.xls";
//is it possible to use Microsoft.ACE.OLEDB.12.0 to read .XLS files also?
// XLS - Excel 2003 and Older
//props["Provider"] = "Microsoft.Jet.OLEDB.4.0";
//props["Extended Properties"] = "Excel 8.0";
//props["Data Source"] = "h:\\Book1.xls";
StringBuilder sb = new StringBuilder();
foreach (KeyValuePair<string, string> prop in props)
{
sb.Append(prop.Key);
sb.Append('=');
sb.Append(prop.Value);
sb.Append(';');
}
return sb.ToString();
}
необходимо установить офис на сервере для использования Microsoft.ACE.OLEDB.12.0?
помогите пожалуйста.
Драйверы ACE не поддерживаются в типичных серверных средах. [Страница загрузки MS Ace] (https://www.microsoft.com/en-us/download/details.aspx?id=13255). См. Раздел сведений на странице загрузки MS. –