logo
logo

Форум Экспорт в Excel

создать новую тему раскрыть все
Экспорт в Excel Dervish 31/01/2002 19:28 #написать ответ
Dervish: Вот пришла пора и мне задать уважаемым пользователям Cash вопрос в этом форуме.
 
А суть моей проблемы вот в чём.
Я уже сделал экспорт в Excel. Всё работает очень быстро, например, моя личная база (1800 операций) выгружается за полсекунды. Но есть сомнения в том, что именно надо выгружать. Какая информация и в каком виде должна присутствовать в Excel-евском WorkBook-e.
 
Оговорюсь сразу же, поскольку версии Excel (как выяснилось) сильно разнятся по внутренней начинке, крайне нежелательно использовать формулы Excel-я в ячейках. Максимум - ссылки на другие ячейки.
 
Какие будут мнения?
RE: Экспорт в Excel Эксплорер 31/01/2002 20:46 #написать ответ
Мое мнение - совершенно полная плоская таблица с текстовым форматом всех ячеек. Как раз потому, что у всех Эксели разные. Если учесть что и региональные установки и проч. будут различными - самое простое решение. Экспорт именно в эксель - не самоцель. Главное выгрузить данные, чтобы потом можно было с ними работать а в каком именно виде - не суть. Если пытаться экспортировать в форматированый и оформленый XLS - мне каж - будет лишняя трата времени. В конце концов, если кому надо "в кокошнике" пусть ведут учет лич. фин в экселе
 
Кста - мне подошел бы (напр) *.MDB или прос *.TXT в общем - в этом направлении лучше пока не париться. главное выгрузить данные и сделать их доступными для обработки другими программами. Этого будет вполне достаточно. В принципе, впоследствии, когда будет реализована вкладка "отчеты" - нужно дать пользователю возможность сохранить сформированый по его запросу отчет как *XLS или *.RTF (*.DOC). Пока (ИМХО) это просто конвертация ВСЕХ данных в файл какого-либо стандартного офисного пакета
 
Т.Е. что-то типа кнопки - "дублировать БД как XLS"
 
Dervish: Это уже сделано! Сейчас, выгрузка выглядит сделующим образом: после того, как пользователь выбрал в меню пункт "Выгрузить в Excel", на экране появляется окно Excel-я, в котором создаётся новый WorkBook, а в нём по WorkSheeta-м разбросана вся информация из базы данных. Причём, созданный WorkBook нигде не сохраняется. Это воля пользователя: сохранить данные или просто распечатать их (или отправить по е-mail) и не сохранять.
 
А вопрос возник вот почему: если посмотреть на WorkSheet "Операции", то там разобраться просто невозможно! Представьте, несколько тысяч записей свалены в одну кучу и отсортированы только по дате. Что с этим сделаешь?
 
Посему возникла мысль: может быть дать возможность выгружать только активную страничку, в соответствии с её установками? Или как-то еще? Может, я что-то пропустил, и есть более симпатичный вариант решения?
Ну и достаточно, пока. Великолепно! Эксплорер 31/01/2002 21:21 #написать ответ
А в дальнейшем нужно будет сделать кнопку "ЭКСПОРТ" во вкладке "отчеты"...
Алгоритм таков...
Пользователь сформировал отчет по своему запросу, и имеет два варианта на выбор - экспорт, печать. Кр. того, после печати или экспорта (или после того как отчет по запросу сформирован) должна быть реализована опция - "Сохранить `запрос` отчет`а" при этом предлагается присвоить запросу имя и примечания, которые будут отобразаться как заголовок и подзаголовок отчета при печати/экспорте. В дальнейшем во вкладке "отчеты" сформированый ранее запрос может быть выбран из списка и вызван с проапдейченными данными на текущий/последний момент. >>> Это как вариант...
 
Вообще - запрос может быть сформирован последовательным применением фильтров. "По проекту "Nick Ringer" > По счету "Телекоммуникационные услуги" > По агенту "Combellga" > За период "с 12.03.89 по 12.04.89") кстати - примерно как в графиках. Было-бы великолепно если может быть реализована возможность СОХРАНИТЬ такой отчет под именем и вызывать его из списка запросов/отчетов (И ГРАФИКОВ ТОЖ)!!! (кста... мы, помнится обсуждали вопрос сохранения настроек графиков)
 
Ну как?
 
Dervish: Идея сохранения отчётов и дальнейшего "апгрейда" отчёта более актуальными данными очень хороша! Мне нравится. Тогда будет сохраняться не сколько сам отчёт, сколько его шаблон, в который, при желании, пользователь сможет подставить новые, более актуальные записи.
 
Да, кстати, действительно этот метод запросто подойдёт и к графикам! Но тогда, шаблон отчёта надо сохранять в виде отдельного файла.
В виде отдельного файла - да ради бога... Ac String 31/01/2002 21:42 #написать ответ
Пусть так и будет если иначе нельзя. Но вероятно лучше в реестр или как еще? Вощ конечно отдельный файл - не самый фонтан. Многие так делают, но не понтово это. А поскольку сама прога получается оч толковой вероятно луч поискать др.реш. чтобы не ломать кайф... Есть они? пусть тогда будет одельный фаил со всеми настройками БД в т.ч. и-фейса, (обсуждалось ранее)и проч. Одна из прог которые я тестил при первом запуске создает профиль пользователя (прям так и кричит в прогресс баре - "создаю пользователя") в дальнейшем при входе в программу он ставится "по умолчанию" при изменении настроек - предлагает сохранить профиль пользователя и тогда входить в программу нужно уже с логином (и кр.того возможно паролирование) похоже на настройки Виндовс под многопользовательский режим. Каатся - неплохой вар-т
 
Dervish: Подумаю еще...
Вообще - кажется это МэйнСтрим Хм... 31/01/2002 21:51 #написать ответ
Тут можно нащупать очень цельное и толковое решение. Кстати - вероятно "цельно решение" это тот эпитет, которым я готов наградить программу. (не зна пра насколько "в тему" для "А")
RE: В виде отдельного файла - да ради бога... Artem Fedorov 01/02/2002 10:36 #написать ответ
На самом деле сохранение шаблона как файла -- лучшее и самое "понтовое" решение. А что если надо такое же отчет открыть на другой странице? А что если (гипотетически) захотелось самому ручками что-нибудь поменять? Txt -- универсальный формат хранения данных. Его можно легко копировать, переносить, сохранять, переименовывать. А что можно сделать с реестром?..
 
Dervish: Нет, всё-таки мне еще не понятно, как лучше поступить.
 
Понимая Ваши аргументы могу сказать в ответ: в шаблоне отчёта обязательно должно храниться, по каким счетам он создаётся. Как их хранить? В текстовом виде? Тогда возникнет вопрос с безопасностью. Например, файл базы защищён паролем, а при этом программа спокойненько пишет в открытый файл названия счетов, которые сами по-себе могут быть секретными. В виде числовых идентификаторов? Но тогда этот шаблон станет невозможно использовать в другом файле базы данных.
 
Проблема, однако.
Ну, хранить-то, допустим, можно просто индексы Эксплорер 01/02/2002 22:17 #написать ответ
Индексы записей по которым строится запрос (если они есть). Но речь о том - что хранение в виде отдельного файла, на мой взгляд, ну... скажем так - несколько корявенькое решение, и если изначально ориентироваться на него - потом, вероятно придется переделывать структуру базы...
 
В общем надо думать.
 
Dervish: Индексы, конечно же есть.
 
Но, всё равно, надо думать.
RE: RE: Экспорт в Excel речь в принципе вот о чем Эх-м-м... Хочется, хочется, хочется... 31/01/2002 21:32 #написать ответ
Если говорить об экспорте всех данных - то это опция "сохранить БД как" - и на выбор *.XLS, *.TXT, *.MDB. Если говорить об экспорте "отчета" (а вкладка "счета" вощ-то - один из вариантов отчета поскольку является сгруппированными данными) - то нужен экспорт в структурированый/форматированный *.XLS, *.RTF или печать.
 
Dervish: Ну нельзя называть пункт меню "Сохранить как"!!!
Cash не сохраняет Excel-файл, а только лишь загружает данные в отдельный экземпляр Excel-я!
 
То есть, если потом действительно надо сохранить, то будьте добры выбрать "Save" уже из Excel-я.
я понимаю конеч... ну- вощ... типа я опять 31/01/2002 21:47 #написать ответ
я образно говорю... Подразумевая пресловутую "парадигму интерфейса". вероятно тогда нужно - "Файл> Открыть >> В Эксель ЭрТэЭф ЭмДэБэ" (что уж больно как-то больно) или "Файл> Преобразовать в ****"
 
Dervish: Образность мышления, это хорошо!
Понял, спасибо.
в свете вышесказанного И вот что еще я хотел-бы добавить 31/01/2002 22:36 #написать ответ
Сергей, я честно скажу - поражаюсь энтузиазму, тщательности и готовности работать с которой ты подходишь к решению поставленных проблем.
Я на личном опыте знаю как часто приходится отказываться от многих "простых радостей жизни" в угоду этому молоху - кодописа`нию. Может быть благодарные пользователи возьмут на свои плечи временное решение своих дополнительных потребностей работы с программой.
Мне, например, достаточно пока полного экспорта во внешний файл. То, что "несколько тысяч записей свалену в одну кучу" - ерунда. Можно разобраться, причем это СОВЕРШЕННО не сложно. Я, например просто запущу встроеный M$ SQL и буду чекать/анализировать данные в аксессе.
Если кто будет дуть щеки и кричать "отстой! хочу чоп цветовое выделение сохранялось и ЕКСЕЛЕ" - пусть поостынут. Побереги себя, "нельзя объять необъятное". Экспорт есть - пусть будет ПОКА таким какой есть, Печать есть - пусть пока побудет такой. Мое мнение - разбросай основные ключевые задачи в некоторую последовательность и делай как тебе надо, а ключевые вопросы во многом поопределились в форуме (уверен, что в твоей голове их еще больше). Будем считать что вопрос экспорта и печати пока закрыт.
Отчеты/запросы - это следующий глобальный этап работы над программой а вот к ним уже нужно будет прикручивать форматированые экспорт/печать (ИМХО есесьно).
 
"Москва не сразу строилась" (пра ждем с нетерпением)
 
Dervish: Да, была у меня мысль насчёт форматирования выгруженных в Excel данных. Но, как-то очень быстро ушла. Действительно, допустим, сделаю я форматирование на свой вкус. Не факт, что то, как понравилось мне, понравится другим людям, а мороки с форматированием на самом деле выше крыши. Это для каждого свойства нужно получать com-интерфейс, устанавливать свойства... Бррр, мороз по коже.
 
А сейчас, к слову сказать, код экспорта в Excel увеличил объём exe-шника всего на 3 килобайта.
да будет так Эксплорер 01/02/2002 15:00 #написать ответ
а макросы - кому надо - пусть делают. Это не высшая математика, достаточно почитать хелп.
 
Dervish: Тем более, очень сложно предугадать, какие могут возникнуть потребности анализа данных.
RE: я понимаю конеч... Artem Fedorov 01/02/2002 10:48 #написать ответ
О! Знакомые слова! Будем писать...
Для расположения пункта экспорт есть два хороших варианта. Это или меню сервис, вот так:
 
Экспорт
-----
Настройки
 
Или меню Файл, где-то после открыть, обязательно разделяя сепаратором. А вот сохранить как и иже с ними не подходят, т.к. как уже сказал Сергей, файл он не создает и без установленного Excel экспорт вообще не работает.
 
Кстати, предложение. Есть ли у нас спецы по VBA? Кто хочет помочь автору, тот может написать макросы, которые форматируют голые данные во что-нибудь удобоваримое. Я думаю, Сергей с удовольствием будет включать код на VBA в экспорт. И дело вот в чем. Не открою Америк, если скажу что анализ, особенно комплексный, очень сложен. А Excel очень приспособлен к этому. Поэтому можно проблему анализа решить (временно?) с помошью написания макросов на VBA. Тогда экспорт будет выглядеть так: экспортируем, а на первом WorkSheet список кнопочек с различными функциями, вроде "построить ... график", "вывести ... отчет" и т.д. Пусть анализом занимается Excel, он к этому привык!
 
P.S. А Экспорт, по-моему, лучше в Сервис...
 
Dervish: А мне что-то кажется, что включение макросов в XLS - не есть очень удачное решение. И вот почему:
 
1. Не секрет, что inline-функции Excel-я (те, что прописываются прямо в ячейках) в русской и английской версии разные. Аналогичная ситуация с названиями свойств при работе через com-интерфейсы, по крайней мере русский Excel`95 не имеет свойства Visible (обалдеть!!!)!!! Само свойство есть, но называется оно как-то по-другому, я уж и не стал искать, как именно. Видимо, в русской транскрипции.
Не удивлюсь, если и с макросами возникнет та же самая проблема.
 
2. Механическое прописывание уже готового макроса существенно увеличит объём программы.
 
3. Разработка такого макроса - отдельная проблема. Лучше будет сделать эту аналитику непосредственно в Cash, а в Excel выгружать уже готовые формы. IMHO.
RE: RE: я понимаю конеч... Artem Fedorov 01/02/2002 11:16 #написать ответ
Прелесть макросов в том, что они совершенно не зависят ни от кого и настраиваются мгновенно и так, как тебе надо. Дополнительную функциональность можно добавлять самому. Самый лучший вариант: открыть воркбук с макросами в Excel`е, туда экспортируем данные и они все делают сами. Этот файл можно поставлять отдельно с программой. Можно просто вывесить на сайте ссылочкой. И необязательно это делать тебе. Я подумал, что может кто-нибудь, кто знает VBA может написать такой WorkBook со встроенными макросами.
Может быть.
Это решило бы проблему с анализом на время. Да тут можно хоть статьи публиковать о том, как анализировать экспортированные данные в Excel. Советы всякие и т.д.
 
Dervish: Понятно. Но пока остаюсь при своём мнении: не надо связываться с макросами. По крайней мере, пользователь сам сможет для себя лично написать такую аналитику, если она ему понадобится.
 
А если навыков пользователя недостаточно для программирования в макросах, то всё равно для него будет удобнее аналитика, интегрированная в Cash. IMHO.
Согласен с Сергеем. Эксплорер 01/02/2002 22:58 #написать ответ
Несколько постов тому, я было кричал о необходимости "анализа", но попытавшись, по просьбе Сергея, конкретизировать потребность - столкнулся со слишком широки и общим кругом определений/задач/вариантов.
В к.к. (конце концов) все получается слишком сложно/заумно/не гибко, в общем такое болото - работы - навалом, а результата - пшик, поскольку все равно на всех не угодишь только запутаются все.
Как вариант предлагаю реализовать в программе несколько вариантов (шаблонов) встроеных стандартных отчетов к которым можно применять некоторые опции формирования представления данных - фильтрация, сортинг,  выборка и др обычные опции запросов - как в SQL/M$ACCESS и, по возможности - опции форматирования представления данных как напр Pivot Table Report Экселя или CrossTab Query Аксесса.
 
А вот "печать" "экспорт" и пр. -применять как раз ТОЛЬКО к этим отчетам (а не ко вкладкам программы, как сейчас)
 
Та опция печати, что находится в меню "Файл" - печатает активную форму/вкладку в том виде, как она есть на экране пользователя. Та "печать" что будет находиться во вкладке "Отчеты" будет печатать результат обработки запроса (с заголовками, Хедерами/Футерами Сабтоталами, группировками и пр.)
 
Dervish: Составляя список нужных отчётов лучше всего ориентировать от задач, которые будут возникать при анализе информации. Собственно, делая графики в первой версии программы я именно от этого и плясал.
 
А что касается печати, то закодирована она так, что печатает не выборку из базы данных, а берет всю нужную для печати информацию непосредственно из самого списка. Более того, код организован таким образом, что печатает сам список. Поэтому, мне совсем не сложно сделать печать из любой закладки программы. А что, печать страницы счетов тяготит?
RE: Экспорт в Excel Сергей 01/02/2002 13:59 #написать ответ
А по-моему не нужно связываться с Excell. Ведь смысл этой операции - именно экспорт данных, а н едругое их представление. Зато потом можно их импортировать в другое приложение - в Excell, Access, другую программу учета или вообще в совершенно непредставимым образом - например в другой операционной системе. Так что жто должен быть обычный файл, текстовый, с разделителями полей. Это все должно быть настраиваемо - т.е. тип и символ разделителя, фикцированное поле или нет и тип разделителя строк. Кроме того, в будущем, можно добавить выбор кодировки. А импорт - это совершенно отдельная задача и как вариант можно его выполнить на макросах или отдельной программой илие еще как - но не место его в главной программе - все равно все предусмотреть невозможно. Я, например, спокойно импортировал в Excell данные из CashFly - именно, потому что они были в текстовой форме.
 
Dervish: Мнение понятно, но позвольте Вам возразить.
 
1. Как выяснилось после реализации в бета версии (она пока недоступна), экспорт в Excel - достаточно быстрая и лёгкая (с точки зрения нагрузки на компьютер) процедура. Ресурсов требуется ненамного больше, чем если у Вас на машине запущен Cash и Excel отдельно друг от друга.
 
2. Как раз потому, что всего не предусмотреть (это относится и к печати), выгруженную в Excel информацию можно обрабатывать любым доступным способом. Украшать как Вам заблагорассудится, печатать, отправлять по e-mail и т.д. и т.п.
 
3. Импорт из Excel-я предусмотрен не будет, поскольку возникает очень большая проблема в представлении данных и контроле за тем, чтобы в импортируемом WorkBook-е всё было заполнено правильно. Да это и не нужно потому что:
 
4. Будет предусмотрен отдельный экспорт и импорт из файлов формата CSV, которые как раз и представляют собой обычный текстовый файл с разделителем полей.
Open Office как альтернатива Alex 24/01/2005 17:58 #написать ответ
Решил избавится от поделок Майкрософта, путем установки поделки под названием OpenOffice, там есть таблицы типа Екселя, но т.к. все бесплатно, то и законов вроде не нарушал...
 
Короче Зкспорт/Импорт не работает  из Cash, что очень обидно для бедного законопослушного гражданина... Зачем заставлять народ воровать MsOffice....
 
CSV очень нужен !
Да, вопрос про... Dervish 26/01/2005 08:11 #написать ответ
...Open Office уже как-то звучал.
 
Дело в том, что у меня есть сомнения, подойдёт ли CSV для переноса данных. Каждый файл CSV, если не ошибаюсь, представляет собой одну, всего одну таблицу. А при экспорте/импорте переносить приходится несколько таблиц. И если их "запихнуть" в один файл, то, боюсь, это будет нестандартный файл.
 
Я поставил себе на компьютер Open Office (правда, версия немного устарела - 1.1.2, но думаю, что не сильно) и рассматриваю его формат документов. Вообще мне кажется, что возможен экспорт данных непосредственно в файлы OpenOffice. Но для этого (а) придётся добавить в программу код zip и придётся довольно сильно повозиться с импортом. Импорт, боюсь, будет нетривиален.
OpenOffice.org uses an XML Alex 26/01/2005 12:08 #написать ответ
Сегодня почитал документалово к Open Office там есть такие слова "OpenOffice.org uses an XML file format as the default for saving and opening its documents." Есть мнение, что это универсальный формат пригодный для много в т.ч. и экспорта напрямую в www.
XML - магическая аббревиатура (+) Dervish 27/01/2005 00:03 #написать ответ
Но в данном случае магия даёт некоторый сбой.
 
Я тут полазил немного по Хелпам OpenOffice, поковырял его файл ручками и обнаружил для себя (раньше просто не знал этого), что файл OpenOffice Calc, это не просто файл в формате XML. Это целый набор файлов XML, сохранённый в архиве ZIP. Раз так, для его использования в интернете, в том числе при помощи XSL, его нужно, по крайней мере, раззиповать.
 
Вот так и получается, что слухи об универсальности несколько преувеличены. В данном случае.
 
Кстати, на удивление, эти файлы обладают, как мне показалось, существенной избыточностью. Например, я использовал в табличке Calc всего один шрифт, а в файл попало описание порядка пяти шрифтов. Зачем? Остаётся только догадываться...
XML - интересная штуковина :) Alex 27/01/2005 02:46 #написать ответ
Ну собсно о формате файлов много написано в хелпе, на счет универсальности позвольте не согласиться... на скока я понял сам текст лежит в отдельном файле в других всякие настройки в т.ч. отдельно и форматирование к тексту, и настройки к офису и описание всего этого барахла. Другими словами при правильной настройке (теоретически в будущем - отдаленной перспективе)  можно данные вытаскивать и представлять их как угодно, форматируя согласно файлу форматирования. Нечто типа шаблонов в WEB
PS:Вообще за 2 недели пользования OpenOffice желания ставить M$Office не возникло.
Не будем спорить про универсальность XML,... Dervish 28/01/2005 01:52 #написать ответ
...тем более, что я говорил немного о другом.
 
Точно также я не хотел бы обсуждать плюсы и минусы OpenOffice. Могу только сказать, что лично я рад, что он существует, что появился очень сильный конкурент монополисту.
 
Я только хотел сказать, что хотел подумать, прежде чем принимать решение о доработке экспорта и импорта.
Ctrl-C + Ctrl-V Alex 26/01/2005 12:17 #написать ответ
Помниться еще автор планировал сделать копирование через буфер обмена выделенного фрагмента из списка операций, думаю что это могло бы значительно помочь пользователям. В версии 1.3 было нечто похожее типа "Экспорт страницы"... Но кроме Екселя часто надо послать расчет по почте, включить просто в текст и т.п.
Да, планировал. Dervish 27/01/2005 00:04 #написать ответ
Собственно, пока и не отказываюсь от этого.
Для обработки экспортированных в Excel данных можно использо Антон 21/07/2005 15:24 #написать ответ
Уважаемый коллега. Прежде всего хочется выразить признательность в создании такой замечательной программы. Она позволяет мне вести оперативный и качественный управленческий учет своей компании. Но этот раздел форума, как я понимаю, не для комплиментов, поэтому хочется поделиться своим опытом.
 
Для анализа данных, хранящихся в cash я использую сводные таблицы Excel. Но как известно, данные выгружаются в не в очень удобном формате для дальнейшего анализа. Но в Excel есть одна функция - Split(s, "\"), где s - параметр - ссылка на ячейку. Эта функция позволяет разбавать данные, выгруженные в одну ячейку с разделителем "\" на несколько ячеек, например, ячейка: Все проекты\Группа 1\Проект 1 разбивается на три ячейки: "Все проекты", "Группа 1", "Проект 1". А дальше с помощью сводных таблиц  можно группировать данные каким угодно образом. Естественно, необходимо написать макрос, чтобы делать эти операции автоматически.
 
Спасибо за Ваш труд.