| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB .NET > Как работать с xls? |
| Автор: krewin 16.9.2011, 12:23 |
| Пожалуста подскажите как xls документ перевести в массив или проще в DataGridView1 ?? |
| Автор: diadiavova 16.9.2011, 13:26 |
| Тут нужны пояснения. Если у тебя просто есть документ и нужны данные с него, то проще всего сохранить с помощью самой программы эксель в формате, который легко прочитать(CSV или XML). Если речь о том, чтобы запихнуть такую возможность в свою программу, то тут зависит от того, какая версия документа, если 2007 и позднее, то там есть возможность работать либо с OpenXML SDK, либо напрямую с XML данными(немного сложнее), для более ранних версий придется ставить офис и использовать его библиотеки. |
| Автор: Данкинг 16.9.2011, 13:29 |
| Открыть документ как OLE-объект и далее построчно по нему пройтись. |
| Автор: Данкинг 16.9.2011, 14:53 | ||
Да, разумеется, если Excel установлен... И всё, а какие ещё компоненты могут требоваться в данном случае. |
| Автор: diadiavova 16.9.2011, 14:58 |
Ну я же пояснил все в первом посте. А условие, что эксель установлен не всегда выполнимо: на целевой машине его может и не быть. OpenXml SDK в свою очередь можно распространять со своим приложением и это не требует дополнительных лицензионных отчислений от конечного пользователя. Да и если проблема действительно только в том, чтобы перевести существующие данные в свою программу, то можно сохранить в удобном формате и прочитать, это тоже вариант. |
| Автор: Данкинг 16.9.2011, 15:03 | ||||
Я в смысле, если Эксель установлен, то этого уже достаточно.
Так это пользователю сохранять надо будет самому, а потом уже юзать программу с сохранённым файлом. |
| Автор: diadiavova 16.9.2011, 15:58 | ||
Я сказал как раз не о том случае, когда это предоставляется пользователю. Бывает же, что нужные данные просто надо забить в программу во время разработки. ТС ведь ничего не пояснил |
| Автор: krewin 16.9.2011, 16:54 |
| А кто в курсе о библиотеке Microsoft Word 9.0 Object Library. Раньше в VB6 можно было создавать докуметы типа ворда, но сейчас про net ничего не знаю. |
| Автор: diadiavova 16.9.2011, 17:01 |
| Да все это тоже можно. Даже есть набор инструментов VSTO. Но это будет работать только на тех машинах, на которых офис установлен. А так подключи библиотеку к проекту и работай с ней без проблем. Если знаешь как это делалось раньше, то разберешься быстро. |
| Автор: krewin 17.9.2011, 16:44 | ||
| Возникли первые проблемы Не удается найти тип взаимодействия, соответствующий внедренному типу "Microsoft.Office.Interop.Excel.Application". Отсутствует ссылка на сборку? C:\Users\007\AppData\Local\Temporary Projects\ConsoleApplication1\Module1.vb
загружал Microsoft.Office.Tools.Excel установлен 2010 Excel вот пример http://base.vingrad.ru/view/2869-Word-Excel---VB-NET |
| Автор: diadiavova 17.9.2011, 16:53 |
| krewin, возможно из-за конфликта имен: класс Application есть и в пространстве System.Windows.Forms, а это пространство импортируется на уровне проекта. Или напиши имя класса полностью или для экселевского пространства создай псевдоним и используй его при указании типов. |
| Автор: krewin 17.9.2011, 19:40 | ||
нет не работает
ошибка все таже |
| Автор: diadiavova 18.9.2011, 11:20 |
| krewin, Скопировал тот код(точнее ту его часть, что для чтения), все работает. Если в примере из аттача ссылки на сборки офиса будут битыми, просто удали их и добавь снова.(это я на всякий случай) |
| Автор: krewin 18.9.2011, 19:13 |
| Да все правильно у меня нет в сылках C:\Windows\assembly\GAC_MSIL\Office\14.0.0.0__71e9bce111e9429c\Office.dll странно нет даже в списках ее надо добовлять отдельно через проводник |
| Автор: diadiavova 19.9.2011, 18:26 | ||
Действительно странно: я добавил все как написано в статье, вторая ссылка добавилась сама. По идее так и должно быть. |