Здравствуйте, ZAMUNDA, Вы писали:
ZAM>PS: Сразу у меня б спросили, зачем было огород городить... ZAM>PPS: Ни капельки не хотел показывать некомпетентность _Elena.
я попробовал ваши решения — спасибо!
Еленино, кстати, правильнее — оно учитывает db-схему исходного worksheet, хотя я все равно не смог застваить его работать на моих примерах буду дальше продолжать завтра.
я вот что думаю, а сохраняет это рещение стили/формат исходного worksheet.
например, если копируется A1 со значением 25 красного цвета на желтом фоне, то будет ли результирующий A1 red/yellow ?
Здравствуйте, ilya_ny, Вы писали:
_>Здравствуйте, Elena_, ZAMUNDA, Вы писали:
_>я попробовал ваши решения — спасибо! _>Еленино, кстати, правильнее — оно учитывает db-схему исходного worksheet, хотя я все равно не смог застваить его работать на моих примерах :) буду дальше продолжать завтра.
Непереставая испытывать чуство уважения&&восхищения к _Elena, скажу:
1) Плохо привязываться к конкретным версиям. Где гарантия, что этот запрос сработает на XL97?
sSQL = "INSERT INTO [" & sTableName & "] " & _
"SELECT * FROM [" & sTableName & "] IN ""K:\xla\Source.xls"" ""Excel 8.0;;"""
Да и просто мои запросы читабельнее.
2) В аннотации к своему решению, я упомянул о том, что "ЕСЛИ ВДРУГ" понадобиться получать структуру таблицы то можно взять код у _Elena. Слово "вдруг" было не случайно вставлено ибо структура исходного листа должна быть (по-хорошему) известна в run-time. Потом объяснять начальнику почему половина сальдовки в сводный отчёт не попала сооовсем невесело. Tip: я свои "регионы" приучил присылать отчёты в одном формате тремя рассылками с темой "Заполните приложенный документ пожалуйста" и приложенным XLS файлом с установленной защитой.
Тем более не вижу причин прописывать получение структуры таблицы, когда оно есть в предыдущем сообщении. К тому же у _Elena не учтены все типы данных, которые XL поддерживает (я кстати эти типы данных указал).
3) У меня не просто копируются данные из нескольких книг в одну, а СОЗДАЁТСЯ книга и в неё копируются данные из исходных двух.
4) Это наконецчёртподери пример, а не готовое приложение, его предназначение показать как то/это работает, а не сделать работу за вас.
_>я вот что думаю, а сохраняет это рещение стили/формат исходного worksheet. _>например, если копируется A1 со значением 25 красного цвета на желтом фоне, то будет ли результирующий A1 red/yellow ?
Учитывая, сделанное ранее заявление о незапускаемости примера _Elena, предположу что у вас просто не установлен Excell. -- Установите Excell и всё попробуйте сами. ;)
Вообщето ADO призвано заниматься передачей данных между клиентом и БД, форматирование в Excell под эту статью не подходит.
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков
Здравствуйте, ilya_ny, Вы писали:
_>Еленино, хотя я все равно не смог застваить его работать на моих примерах буду дальше продолжать завтра.
А что именно не работает?
_>я вот что думаю, а сохраняет это рещение стили/формат исходного worksheet. _>например, если копируется A1 со значением 25 красного цвета на желтом фоне, то будет ли результирующий A1 red/yellow ?
Конечно, только данные переносятся, оформление к ADO не относится.
Здравствуйте, Elena_, Вы писали:
_>>Еленино, хотя я все равно не смог застваить его работать на моих примерах E_>А что именно не работает?
я может позже выложу пример — мне надо его подчистить
_>>я вот что думаю, а сохраняет это рещение стили/формат исходного worksheet. _>>например, если копируется A1 со значением 25 красного цвета на желтом фоне, то будет ли результирующий A1 red/yellow ? E_>Конечно, только данные переносятся, оформление к ADO не относится.
но тогда это, к сожалению, не подходит
у меня каждый excel-файл — это красивый сгенерированный форматированный отчет.
если не копировать стили, то тогда это все не имеет смысла..
а исходная идея была такая — каждый месяц — это отчет
12 файлов неохота держать — хочется один с 12 worksheets
каждый worksheet — название месяца
пока я вижу выход:
1. установить Excel на сервер
2. COM — объект из VB6 кода который работает (он excel убивает) (1/10000 всего проекта)
3. .NET будет вызывать этот COM
корявое временное рещение