zabeyka
|
Гадкий утенок
|
|
|
|
Рег.: 08.11.2002
|
Сообщений: 2647
|
Из: Ingress
|
Рейтинг: 2703
|
|
Из программы Си++ заполнить Excel-файл
11.09.2007 12:49
|
|
|
то есть банально есть массив - его нужно перенести в Excel-файл. если кто-то делал это, спасибо за совет или пример кода. Большая просьба: если и посылать, то хотя бы не в гугл, а на ссылки с инфой. Спасибо.
|
Пули Дизита не коснутся тела Морана Шетланда!!! |
|
Bishop
|
Супа
|
|
|
|
Рег.: 04.10.2006
|
Сообщений: 396
|
|
Рейтинг: 71
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: zabeyka]
11.09.2007 13:05
|
|
|
Значения в строках разделены табуляцией Новые строки - просто новые строки в текстовом файле.
|
|
penartur2
|
|
|
|
|
Рег.: 16.06.2005
|
Сообщений: 54495
|
|
Рейтинг: 429
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: Bishop]
11.09.2007 13:24
|
|
|
Я бы даже сказал,
http://en.wikipedia.org/wiki/Comma-separated_values:
CSV is a delimited data format that has fields/columns separated by the comma character and records/rows separated by newlines. Fields that contain a special character (comma, newline, or double quote), must be enclosed in double quotes. However, if a line contains a single entry which is the empty string, it may be enclosed in double quotes. If a field's value contains a double quote character it is escaped by placing another double quote character next to it. The CSV file format does not require a specific character encoding, byte order, or line terminator format.
Each record is one line terminated by a line feed (ASCII/LF=0x0A) or a carriage return and line feed pair (ASCII/CRLF=0x0D 0x0A), however, line-breaks can be embedded. Fields are separated by commas. 1997,Ford,E350 Leading and trailing spaces or tabs, adjacent to commas, are trimmed. This requirement is contentious and in fact is specifically prohibited by RFC 4180, which states, "Spaces are considered part of a field and should not be ignored." 1997, Ford , E350 same as 1997,Ford,E350 Fields with embedded commas must be delimited with double-quote characters. 1997,Ford,E350,"Super, luxurious truck" Fields with embedded double-quote characters must be delimited with double-quote characters, and the embedded double-quote characters must be represented by a pair of double-quote characters. 1997,Ford,E350,"Super ""luxurious"" truck" Fields with embedded line breaks must be delimited by double-quote characters. 1997,Ford,E350,"Go get one now they are going fast" Fields with leading or trailing spaces must be delimited by double-quote characters. (See comment about leading and trailing spaces above.) 1997,Ford,E350," Super luxurious truck " Fields may always be delimited by double-quote characters, whether necessary or not. "1997",Ford,E350 The first record in a csv file may contain column names in each of the fields. Year,Make,Model 1997,Ford,E350 2000,Mercury,Cougar
|
Я ушел на новый форум. Там правовое государство. А еще можно удобно листать аплоад  |
|
penartur2
|
|
|
|
|
Рег.: 16.06.2005
|
Сообщений: 54495
|
|
Рейтинг: 429
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: penartur2]
11.09.2007 13:25
|
|
|
Пример:
В ответ на:
year,brand,model,comment,price 1997,Ford,E350,"ac, abs, moon",3000.00 1999,Chevy,"Venture ""Extended Edition""",,4900.00 1996,Jeep,Grand Cherokee,"MUST SELL! air, moon roof, loaded",4799.00
|
Я ушел на новый форум. Там правовое государство. А еще можно удобно листать аплоад  |
|
Storm
|
:)
|
|
|
|
Рег.: 09.09.2004
|
Сообщений: 3301
|
Из: hane.ru
|
Рейтинг: 132
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: penartur2]
11.09.2007 13:52
|
|
|
Только в Excel`е вместо ',' используется почему-то ';'.
|
|
|
zabeyka
|
Гадкий утенок
|
|
|
|
Рег.: 08.11.2002
|
Сообщений: 2647
|
Из: Ingress
|
Рейтинг: 2703
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: penartur2]
11.09.2007 14:07
|
|
|
то есть мона прям просто так: FILE * Orders; Orders = fopen("order.xls","w"); fprintf(Orders,"year,brand,model,comment,price"); ?
|
Пули Дизита не коснутся тела Морана Шетланда!!! |
|
penartur2
|
|
|
|
|
Рег.: 16.06.2005
|
Сообщений: 54495
|
|
Рейтинг: 429
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: zabeyka]
11.09.2007 14:15
|
|
|
Ну типа того, только
В ответ на:
fprintf(Orders,concat("year,brand,model,comment,price",EOL));
А потом - данные (и не забудь их ескейпить!)
|
Я ушел на новый форум. Там правовое государство. А еще можно удобно листать аплоад  |
|
zabeyka
|
Гадкий утенок
|
|
|
|
Рег.: 08.11.2002
|
Сообщений: 2647
|
Из: Ingress
|
Рейтинг: 2703
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: penartur2]
11.09.2007 14:20
|
|
|
спасиб всем! у меня корректно получилось вот с каким кодом: FILE * f; f = fopen("f.xls","w"); fprintf(f,"year\tbrand\tmodel\tcomment\tprice"); fclose(f);
|
Пули Дизита не коснутся тела Морана Шетланда!!! |
|
penartur2
|
|
|
|
|
Рег.: 16.06.2005
|
Сообщений: 54495
|
|
Рейтинг: 429
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: zabeyka]
11.09.2007 14:29
|
|
|
Ага, только это не xls, а "Text (Tab delimited)". Тебе очень повезло, что автоопределение типа сработало правильно, и вдвойне повезло, что оно вообще сработало для файла с расширением .xls. Правильное поведение программы просмотра в таком случае - сказать "у вас тут в этом .xls лежит хз что, я не знаю, что это - уберите от меня свой битый .xls-файл, и дайте что-нибудь нормальное". Так что не трахай себе и другим мозги, а сделай csv.
|
Я ушел на новый форум. Там правовое государство. А еще можно удобно листать аплоад  |
|
Mike
|
Ызарг
|
|
|
|
Рег.: 02.11.2002
|
Сообщений: 8098
|
|
Рейтинг: 2147
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: penartur2]
11.09.2007 14:32
|
|
|
Quote:
Так что не трахай себе и другим мозги, а сделай csv.
А завтра ему понадобится форматирование: выделение жЫрным шрифтом, таблички... И пойдет он читать про COM и ExcellApplication.
|
|
penartur2
|
|
|
|
|
Рег.: 16.06.2005
|
Сообщений: 54495
|
|
Рейтинг: 429
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: Mike]
11.09.2007 14:33
|
|
|
В ответ на:
А завтра ему понадобится форматирование: выделение жЫрным шрифтом, таблички...
Надо полагать, в Text (Tab Delimited) это можно сделать без проблем? Тогда уж пусть делает настоящий экселевский файл, а не такую хрень, названную как экселевский файл.
|
Я ушел на новый форум. Там правовое государство. А еще можно удобно листать аплоад  |
|
DarkGray
|
Carpal Tunnel
|
|
|
|
Рег.: 30.09.2002
|
Сообщений: 31411
|
|
Рейтинг: 8953
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: Mike]
11.09.2007 14:36
|
|
|
> И пойдет он читать про COM и ExcellApplication.
лучше пусть читает про excelml, благо 2003 excel уже более менее у всех стоит.
|
|
zabeyka
|
Гадкий утенок
|
|
|
|
Рег.: 08.11.2002
|
Сообщений: 2647
|
Из: Ingress
|
Рейтинг: 2703
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: penartur2]
11.09.2007 15:54
|
|
|
Да в моей проге ничего сложного не нужно - достаточно заполнить и отправить эксель-файл. А он, как показала практика, нормально читабелен. (да и изначально я, в принципе и спрашивал об этом, потому что в тот же ворд фиг пойми как грамотно запихать обычную тесктовую инфу) эксель сейчас мой файл прочитал и не ругнулся - большего мне от него не нужно
|
Пули Дизита не коснутся тела Морана Шетланда!!! |
|
penartur2
|
|
|
|
|
Рег.: 16.06.2005
|
Сообщений: 54495
|
|
Рейтинг: 429
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: zabeyka]
11.09.2007 15:57
|
|
|
В ответ на:
эксель сейчас мой файл прочитал и не ругнулся - большего мне от него не нужно
О других людях ты не думаешь? Или этот файл - для внутреннего употребления?
|
Я ушел на новый форум. Там правовое государство. А еще можно удобно листать аплоад  |
|
zabeyka
|
Гадкий утенок
|
|
|
|
Рег.: 08.11.2002
|
Сообщений: 2647
|
Из: Ingress
|
Рейтинг: 2703
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: penartur2]
11.09.2007 16:05
|
|
|
на главном сервере файл прочитали - большего от него не надо все равно не у всех стоит эксель, поэтому распечатка на других компах будет из txt-файла
|
Пули Дизита не коснутся тела Морана Шетланда!!! |
|
penartur2
|
|
|
|
|
Рег.: 16.06.2005
|
Сообщений: 54495
|
|
Рейтинг: 429
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: zabeyka]
11.09.2007 16:10
|
|
|
Ты сейчас ведешь себя очень глупо. "Пусть у меня все через жопу и не по стандарту - но в одном месте работает, и хуй с ним". Ладно бы еще, если бы сделать нормально требовало каких-то огромных усилий - но сейчас сделать нормально и сделать через жопу требует одинаковых затрат.
В ответ на:
все равно не у всех стоит эксель, поэтому распечатка на других компах будет из txt-файла
Ну так сделай .csv!
|
Я ушел на новый форум. Там правовое государство. А еще можно удобно листать аплоад  |
|
nelapsi
|
the wumbologist
|
|
|
|
Рег.: 10.11.2003
|
Сообщений: 10758
|
Из: Orbis Tertius
|
Рейтинг: 10651
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: penartur2]
11.09.2007 16:51
|
|
|
В ответ на:
Пусть у меня все через жопу и не по стандарту
все правильно - он же пишет под винду для ескеля
|
Your touch will set me free |
|
penartur2
|
|
|
|
|
Рег.: 16.06.2005
|
Сообщений: 54495
|
|
Рейтинг: 429
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: nelapsi]
11.09.2007 16:55
|
|
|
В ответ на:
все правильно
Это у тебя предрассудки какие-то. Да, винда более мягко относится к ошибкам программистов, чем другие ОС. Но это не повод считать, что такие ошибки нужно совершать.
|
Я ушел на новый форум. Там правовое государство. А еще можно удобно листать аплоад  |
|
fgo
|
Pooh-Bah
|
|
|
|
Рег.: 18.04.2006
|
Сообщений: 2021
|
|
Рейтинг: 1684
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: Storm]
12.09.2007 00:31
|
|
|
В ответ на:
Только в Excel`е вместо ',' используется почему-то ';'
Используется символ, указанный как Разделитель элементов списка в Панель управления/Язык и региональные стандарты/Настройка на закладке Числа. Этот же символ нужно писать в формулах Excel, когда разделяешь параметры.
|
|
den
|
IQ Test Negative
|
|
|
|
Рег.: 18.09.2003
|
Сообщений: 2609
|
|
Рейтинг: 1027
|
|
Re: Из программы Си++ заполнить Excel-файл
[re: fgo]
12.09.2007 10:33
|
|
|
А типа в природе существует эксель неспособный прочитать такой текстовый файл ?
|
|