|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Кажется, пора писать новый фак. Какие есть способы импорта/экспорта из/в Экселя/Эксель? 1. Линковка. 2. Собственно импорт/экспорт. 3. Pass-Through Query (возможно ли вообще?). 4. Как-то делалось через код - почти как линковка, но без явной линковки. 5. Через методы библиотеки Excel. Может, и про Ворд можно в тот же фак... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2005, 14:40 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
а "3." - что такое? Что-то вроде select * from [excel 5.0;database=d:\1.xls].[лист1$] и select * from [Лист1$] in 'd:\1.xls' 'excel 5.0;' ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2005, 14:56 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Владимир Саныч3. Pass-Through Query (возможно ли вообще?). Саныч, ты сам то как думаешь, возможно ли заставить эксель выполнять SQL-запросы? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2005, 15:14 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Лох ПозорныйСаныч, ты сам то как думаешь, возможно ли заставить эксель выполнять SQL-запросы? Ну, если есть драйвер (причем не только для Экселя, но и вообще для текстовых файлов), то почему бы и нет. Ведь Pass-Through Query делается через драйвер ODBC. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2005, 15:39 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Отчеты из Access в Excel делаю так: Access: Открываю шаблон, в шаблоне листы, в модулях листов (чтобы удалять не листы, а модули, надо понижать безопасность, поэтому выбрал код писать в модулях листов, а не в стандартных модулях) есть процедурка с параметрами Access: Открываю рекордсет со сформированым отчетом, передаю его как параметр в ТУ-САМУЮ процедуру листа Excel: Создает новый лист, засасывает данные из рекордсета, форматирует все на основе шаблона, делает что ему там надо еще... Access:Если мне не надо больше ничего, то вызываю вторую процедуру Excel: Вторая процедура удаляет лист, остаются листы с "только данными", без кода Access: "Спасибо тебе, Excel, за работу!" Код по формированию лежит Excel, т.к. после тестовых замеров выяснил, что скорость в этом случае гораздо выше ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2005, 16:14 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Владимир Саныч Лох ПозорныйСаныч, ты сам то как думаешь, возможно ли заставить эксель выполнять SQL-запросы? Ну, если есть драйвер (причем не только для Экселя, но и вообще для текстовых файлов), то почему бы и нет. Ведь Pass-Through Query делается через драйвер ODBC. Есть маленькая особенность, если внимательно посмотреть,то запросы к Excel отрабатывает старый добрый odbcjt32.dll ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2005, 16:15 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Владимир Саныч Лох ПозорныйСаныч, ты сам то как думаешь, возможно ли заставить эксель выполнять SQL-запросы? Ну, если есть драйвер (причем не только для Экселя, но и вообще для текстовых файлов), то почему бы и нет. Ведь Pass-Through Query делается через драйвер ODBC. Если рассматривать "нормальный" сервер, то текст "пассру" (ну и название) запроса передается на сервак, там выполняется (серваком), и возвращается результат выполнения. Джет никоим образом в этой работе не участвует. Отдал текст - получил результат. Как ты себе это представляешь в случае экселя? Ну передали текст запроса в программу под названием excel.exe, и что дальше? Выполнять-то этот запрос кто будет? Драйвер? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2005, 17:29 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
А мне понравилось работать с екцелем через запросы (через ADO)- привычно, гибко, удобно и быстро (правда есть один непритяный глюк (утечка памяти) и особеность работы с первой строкой и способ опредления екцелям типа полей) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2005, 23:08 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Да нету здесь никакого PassThrough Что через OLEDB, что ODBC - всё одно, JET доступом к excel занимается ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2005, 00:27 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
5. Через методы библиотеки Excel. Единственный разумный вариант. Остальные на практике просто не работают. Всякие точки, запятые, размеры полей и тд и тп. Недостатки 1) Медленно работает 2) много программировать Как бороться с недостатками: ну и пох. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2005, 06:49 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
6. Biff файл - формат документирован, если нет возможности программировать самому - можно взять(найти , купить) готовые ActiveX с Shark не согласен по пп.2 - много программить. Хороший единожды написанный класс решает проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2005, 09:21 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Проблема: подключить (к отчету, форме) файл экселя в связанном режиме..... требуется реристрация OLE , какого и где полные непонятки... сравнивал два компа : на работающем грузилась olepro32.dll (если память не измняет) как её загрузить (если это в ней дело) ? мне не удалось... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2005, 09:46 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
сюда же http://www.sql.ru/forum/actualthread.aspx?tid=174249 (обновляются формулы, если таблица подлинкована и файл открыт одновременно в Excel, иначе нет) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2005, 10:02 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
На днях этому топику исполнился год... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2006, 17:12 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
да, Саныч, а я за это время многому научился по работе а экселем и вордом. НАКЛАДНЫЕ 1С - это леХко!!!! тут есть пример по его использованию. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2006, 18:46 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Угу... А можешь сюда скопировать основное? А то ведь я не знаю, где там чего искать... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2006, 19:07 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
добавил немного комментариев. к сожалению делать рабочую демку лень ( прошу не ругать) но если у кого есть конкретные тестовые данные (в Вашем формате) для 2-3 накладных я попробую под них запрос (там один ) сделать вставлять сюда текстом это ( я думаю) слишком много желающие могут для ознакомления скачать - что непонятно объясню. рассмотрены 2 метода вставки в эксель по полям, и с помощью рекордсета. копирование строк,форматировани строк экселя по образцу. вставка формул. вставка копии листа из экселя в форму акса. "активация формы" . при двойном клике на форме возможность редактирования выводимого на форме (в экселе, как в оле объекте т.е. вызов экселя) вывод на печать формы (ВМЕСТО ОТЧЕТА) разделение формы на две страницы при необходимости приложены экселевские бланки накладных (взяты из 1с) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2006, 20:39 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
файл, забыл вложить исправляюсь ХР ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2006, 20:40 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Саныч, по п.4 может быть ты это имел ввиду? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2006, 12:55 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Fat LamerСаныч, по п.4 может быть ты это имел ввиду? Идеологически очень похоже. Но синтаксис вроде был другой. Здесь я вижу вещи, которые мне не помнились (фигурные скобки, числовые коды драйверов). Был топик, где кто-то это искал, я помогал как мог и не смог помочь, а потом автор топика нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2006, 21:47 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Fat LamerСаныч, по п.4 может быть ты это имел ввиду? Нашел!!! Я имел в виду вот это: /topic/145252&pg=-1 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2006, 22:16 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Несколько слов об импорта/экспорта в/из Excel через ОЛЕ автоматизацию. * Часто таблицы в экселе бывают кривые, из-за чего при линковке или штатном импорте/экспорте происходит неправильное преобразование полей со значениями, датами и т.п. * Бывает нужно собрать часть данных из отдельных ячеек на листе, а часть - из таблички данных. * Таблички данных могут располагаться на разных местах рабочего листа. * Часто бывает, что при настроенном импорте исходная табличка в экселе разрастается, в нее в разные позиции добваляются новые столбцы и т.п. * Бывает необходимо пробежаться по нескольким листам рабочей книги, собирая данные со всех листов в одну общую таблицу. Все это привело к необходимости иметь возможность гибкого общения с Excel через ОЛЕ автоматизацию. В конечном итоге была разработана система экспорта/импорта в/из Excel, базирующаяся на спецификациях импорта, задаваемых пользователем и позволяющая справляться со всеми сложными ситуациями, описанными выше. Сейчас она чуть-чуть модернизируется, так как на еу основе делается надстройка, позволяющая выводить структурированные отчеты с группировкой числовых данных (а-ля структура баланса). Как закончу, мог бы выложить исходные формы и текст, система сделана на ADP и требует SQL сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2008, 09:52 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Senin ViktorА мне понравилось работать с екцелем через запросы (через ADO)- да удобно, но только в случае, если лист книги похож на таблицу базы данных. Когда в одной колонке есть значения и текстовые и числовые и т.д., запросы ADO работает неправильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2008, 12:28 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
klen_Когда в одной колонке есть значения и текстовые и числовые и т.д., запросы ADO работает неправильно. Поэтому все "рабочие" таблицы, которые ведутся живыми людьми приходится разбирать через ОЛЕ. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2008, 12:30 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
вот так приспособился открывать Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2008, 13:28 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
To klen "Когда в одной колонке есть значения и текстовые и числовые и т.д., запросы ADO работает неправильно." Если не трудно,если под рукой, НЕ СПЕША ,отбросив лишнее из своей программы,... пример к вышесказанному.(Максимум комментариев, если не трудно). Не в коем случае не из чувства неверия к Вам. (Из личных соображений.) Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2008, 22:54 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Уважающий ВсехВасTo klen "Когда в одной колонке есть значения и текстовые и числовые и т.д., запросы ADO работает неправильно." Если не трудно,если под рукой, НЕ СПЕША ,отбросив лишнее из своей программы,... пример к вышесказанному.(Максимум комментариев, если не трудно). Видимо, речь о том, что Аксесс распознаёт тип полей Экселя сам на основании данных в первой строке. И иногда делает это не так, как хотелось бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2008, 23:31 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
How To Use ADO with Excel Data from Visual Basic or VBA A Caution about Mixed Data Types As stated previously, ADO must guess at the data type for each column in your Excel worksheet or range. (This is not affected by Excel cell formatting settings.) A serious problem can arise if you have numeric values mixed with text values in the same column. Both the Jet and the ODBC Provider return the data of the majority type, but return NULL (empty) values for the minority data type . If the two types are equally mixed in the column, the provider chooses numeric over text . For example: • In your eight (8) scanned rows, if the column contains five (5) numeric values and three (3) text values, the provider returns five (5) numbers and three (3) null values. • In your eight (8) scanned rows, if the column contains three (3) numeric values and five (5) text values, the provider returns three (3) null values and five (5) text values. • In your eight (8) scanned rows, if the column contains four (4) numeric values and four (4) text values, the provider returns four (4) numbers and four (4) null values. As a result, if your column contains mixed values, your only recourse is to store numeric values in that column as text, and to convert them back to numbers when needed in the client application by using the Visual Basic VAL function or an equivalent. To work around this problem for read-only data, enable Import Mode by using the setting "IMEX=1" in the Extended Properties section of the connection string. This enforces the ImportMixedTypes=Text registry setting. However, note that updates may give unexpected results in this mode. For additional information about this setting, click the article number below to view the article in the Microsoft Knowledge Base: 194124 (http://support.microsoft.com/kb/194124/EN-US/) PRB: Excel Values Returned as NULL Using DAO OpenRecordset ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2008, 23:58 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
http://www.zmey.1977.ru/Access_To_Excel_Ru.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2008, 05:49 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Владимир Саныч Уважающий ВсехВасTo klen "Когда в одной колонке есть значения и текстовые и числовые и т.д., запросы ADO работает неправильно." Если не трудно,если под рукой, НЕ СПЕША ,отбросив лишнее из своей программы,... пример к вышесказанному.(Максимум комментариев, если не трудно). Видимо, речь о том, что Аксесс распознаёт тип полей Экселя сам на основании данных в первой строке. И иногда делает это не так, как хотелось бы.Да, именно про этот случай, когда ADO возвращает, в некоторых записях/полях, пустые значения а на самом-то деле значения в excel-е есть, только другого типа ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2008, 08:29 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
Приношу извинения.Поздно было,устал, думал Access ->Excel ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2008, 10:08 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
А тут вот, в нашем же факе, 5579496 есть такое, но тоже не работает klen_вот так приспособился открывать Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
а вот свойство MultiUserEditing и метод ExclusiveAccess ещё ни разу не использовал ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2016, 17:59 |
|
ФАК: работа с Экселем
|
|||
---|---|---|---|
#18+
VitAks, А что не работает-то конкретно? Код правильный. Проверьте наличие файла, листа в нем и то, что не открыт другой программой. А вообще код, конечно, атас. Обычно используют On Error GoTo, а не проверяют на наличие ошибки после каждой команды. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2016, 06:10 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1612884]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
others: | 342ms |
total: | 480ms |
0 / 0 |