?

Log in

No account? Create an account

Предыдущее | Следующее

Вопрос знатокам Excell.



Есть массив данных в виде HTML таблички. Надо экспортировать его в XLS файл. При этом в одном из столбцов исходной таблички содержатся данные о номере версии вида 1.11. Задача получить в результирующем XLS файле данные в том же формате, а то хитрожопый шибко умный Excell автоматически переводит их в формат 1 ноября 2006. Вопрос: как объяснить программе, что этого делать не надо?

В качестве интересной находки при попытке поиска правильного решения, обнаружил возможность двигаться между листами рабочей книги по комбинациq CTRL+PgUp и CTRL+PgDn. Продолжаю рыть, но если кто подскажет - буду рад.



Update:Один вариант таки нашёл. Значит надо открыть таблицу в бразузере FireFox, выделить данные, зайти в Excell, кликнуть правой клавишей на ячейке и выбрать Paste Special. В открывшемся окне выбрать Unicode. После этого данные будут экспортированны правильно. Это решение очень кривое, прежде всего потому, что если выделять данные в Internet Explorer, то трюк не проходит. Но как временное решение катит. А может кто и красивое решение подскажет;-)


Update 2: Второй вариант. Многие мне его подсказывали, но долго тупил с применением. Надо сохранить HTML файл локально, потом провести в нём автозамену вида [цифра]. На '[цифра]. потом открывать на редактирование при помощи Excell. Данное решение кажется мне более красивым и универсальным.


Update 3: Наиболее простой и красивый вариант от provotorin: установить на компьютере формат даты yyyy-MM-dd. После этого всё конвертится идеально. Запомню.

Метки:

Comments

( 10 комментариев — Оставить комментарий )
murmashka
16 май, 2006 14:02 (UTC)
Excell не воспринимает число как дату, если первым знаком в ячейке стоит апостроф. Можно глобальной заменой или как еще поставить...
А еще можно попробовать формат ячейки поменять - вместо "Дата/время" вручную поставить "Текст"...
vorobiev
17 май, 2006 06:23 (UTC)
К сожалению этот вариант не проходит.
Если в ячейке с типом дата/время поставить текст, то обратная конвертация не происходит: в ячейку вписывается число соотвтетсвующее числу дней от 01.01.1900, а не исходное.

Ну а делать глобальную замену в буфере обмена пока не умею :-(
(Анонимно)
16 май, 2006 22:34 (UTC)
Составить в Excel пример таблички, похожей на то, что надо. Сохранить ее как XML. Открыть в Notepad-ах html-ную табличку и этот самый xml. Глядя одним глазом в html, другим - в XML написать (используя третий глаз, либо слепой десятипальцевый метод) соответствующую замену (perl-ом либо XSL-ем. Собственно, XSL как раз для таких вещей и придумывался, хотя я бы, по лености, использовал perl). Получится батник, который раз и навсегда решает эту проблему.

Впрочем, я не знаток Excel, поэтому свел задачу к известному лично мне инструменту (да-да, лично мне :-) Не стал бы я одной нашей общей знакомой доверять ваять перловые скрипты, если бы сам их ваять не умел ;-) ).
vorobiev
17 май, 2006 06:28 (UTC)
Да, в общем то этот метод и будет использоваться...
Задание программисту я уже выдал, думаю к концу недели будет у меня нужный скрипт. Тем более что эта задача входит в состав более общей и скрипт будет написан именно для неё. :-)

Пока же он этим занимается я хотел иметь "быстре" решение, которое можно применить уже сейчас, а потом использовать в повседневной жизни, не думая установлен ли где-то перл и другое ПО. Думал, что это достаточно просто сделать, но пока нашёл только кривой путь.
c_h_i_p
16 май, 2006 23:53 (UTC)
Поменять формат ячеек на Текст - это наиболее простой и верный метод, кажется. Только менять надо до вставки таблицы из буфера, а не потом. И если надо будет сортировать по этому столбцу, то следует выбирать "Все данные похожие на числа, как числа"
vorobiev
17 май, 2006 06:21 (UTC)
К сожалению этот вариант не проходит.
Ибо при вставке таблицы из буфера тип ячеек обнуляется.
strorry
17 май, 2006 07:14 (UTC)
проходил мимо, задумался
а если перед тем, как открыть хтмл в экселе его переделать в какойнить csv или просто к каждой строчке впереди добавить какойнить символ типа ' или ".

ЗЫ. А какими средствами кроме ехеля и браузеров распологаете?
vorobiev
17 май, 2006 08:31 (UTC)
А вот с этого места поподробнее...
Вы знаете метод прямой переделки из HTML в CSV?
Если да, то было бы здорово, если бы поделились.

Из других средств есть полный офис. Пожалуй всё.

Пробовал открывать HTML вордом, потом экспортировать в Exell, на представленном объёме данных жутко тормозит.
provotorin
17 май, 2006 09:39 (UTC)
Постась на машине формат даты yyyy-MM-dd и всего делов.
vorobiev
17 май, 2006 10:06 (UTC)
Супер!
Действительно самый простой и изящный способ. Спасибо огромное!
( 10 комментариев — Оставить комментарий )

Календарь блога

Июль 2019
Вс Пн Вт Ср Чт Пт Сб
 123456
78910111213
14151617181920
21222324252627
28293031   

Метки

Разработано LiveJournal.com
Designed by Lilia Ahner