Как выбрать и создать excel из excel, фильтруя данные в C#
Я пытаюсь отфильтровать данные и создать новый файл excel из коллекции файлов excel, которая находится в моем каталоге. В настоящее время я использую команду OLEDB и сталкиваюсь с несоответствием типа данных ошибки. Я хотел бы знать, можно ли это сделать с помощью epplus или нет, и если да, то, пожалуйста, поделитесь кодом.
Что я уже пробовал:
using (var xlConn = new OleDbConnection(cs)) { xlConn.Open(); dtXlSchema = xlConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); for (int i = 0; i < dtXlSchema.Rows.Count; i++) { string sTableName = dtXlSchema.Rows[i]["Table_Name"].ToString(); string query ="Select [cs-uri-stem] from [" + sTableName + "] where ([cs-uri-stem] like '%" + kw + "%' and [sc-status] = '" + stat + "') Order by [cs-uri-stem]"; using (var cmd = new OleDbCommand(query, xlConn)) { var rdr = cmd.ExecuteReader(); while (rdr.Read()) { var row = dt.NewRow(); row["cs-uri-stem"] = rdr["cs-uri-stem"].ToString(); dtx.Rows.Add(row); } } }
Richard MacCutchan
Вместо того чтобы пробовать какую-то другую библиотеку (которая, скорее всего, вызовет то же самое исключение), вы должны диагностировать и исправить неправильный код.
istudent
Но это все, что есть в Кодексе. Чтение данных из одного файла excel. Вот ключ свойств соединения="OleDBProvider" значение= "Microsoft.ACE.OLEDB.12.0"
key="ExtendedProperties" value=" 'Excel 12.0;HDR=Yes;IMEX=1'"
istudent
хорошо, я изменяю значение расширенных свойств="'Excel 8.0;HDR=Yes;IMEX=1'". И это сработало. Сообщение об ошибке было Мисс Лидинг. Однако я хотел бы научиться работать с другими библиотеками простым способом.