Открытие Excel файла как XML
От: Ellin Россия www.rsdn.ru
Дата: 25.06.09 08:48
Оценка:
Открываю эксельный(эксель 2003) файл:
XmlTextReader reader = new XmlTextReader(@"C:\1.xsl");
Выдает ошибку:
System.Xml.XmlException: Недопустимый знак для указанной кодировки. Строка 1, позиция 1.
в System.Xml.XmlTextReaderImpl.Throw(Exception e)
в System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
в System.Xml.XmlTextReaderImpl.Throw(Int32 pos, String res)
в System.Xml.XmlTextReaderImpl.InvalidCharRecovery(Int32& bytesCount, Int32& charsCount)
в System.Xml.XmlTextReaderImpl.GetChars(Int32 maxCharsCount)
в System.Xml.XmlTextReaderImpl.ReadData()
в System.Xml.XmlTextReaderImpl.SwitchEncoding(Encoding newEncoding)
в System.Xml.XmlTextReaderImpl.ParseXmlDeclaration(Boolean isTextDecl)
в System.Xml.XmlTextReaderImpl.Read()
в System.Xml.XmlTextReader.Read()
в PRobotTest.Program.TestBusinessCiclesExcell(String filePath) в C:\Work\PrognoseRobot\PRobotTest\Program.cs:строка 41

Как работать с этим экселем через xml? Заканапатился уже
Re: Открытие Excel файла как XML
От: Ovl Россия  
Дата: 25.06.09 08:53
Оценка:
E>Как работать с этим экселем через xml? Заканапатился уже
так он же не в xml сохранен, что вы хотите от бедного ридера?
Read or Die!
Как правильно задавать вопросы
Как правильно оформить свой вопрос
Автор: anvaka
Дата: 15.05.06
Re: Открытие Excel файла как XML
От: Spiceman  
Дата: 25.06.09 08:57
Оценка:
Здравствуйте, Ellin, Вы писали:

E>Открываю эксельный(эксель 2003) файл:

E>Как работать с этим экселем через xml? Заканапатился уже

А разве формат xml у офисных файлов стал не с 2007 офиса?
Re[2]: Открытие Excel файла как XML
От: Ellin Россия www.rsdn.ru
Дата: 25.06.09 08:58
Оценка:
Здравствуйте, Ovl, Вы писали:

E>>Как работать с этим экселем через xml? Заканапатился уже

Ovl>так он же не в xml сохранен, что вы хотите от бедного ридера?

Да... запарился я совсем... Я хочу работать с Excel файлами, как с хмl... Говорят так гораздо быстрее да и удобнее. Через объектную модель Excel не удобно...
Re[2]: Открытие Excel файла как XML
От: Ellin Россия www.rsdn.ru
Дата: 25.06.09 08:59
Оценка: :)
Здравствуйте, Spiceman, Вы писали:

S>Здравствуйте, Ellin, Вы писали:

E>>Открываю эксельный(эксель 2003) файл:
E>>Как работать с этим экселем через xml? Заканапатился уже
S>А разве формат xml у офисных файлов стал не с 2007 офиса?
Я думал что ридер может эти бинарные читать и как том внутри себя конвертировать их в xml...
Re: Открытие Excel файла как XML
От: Александр Кузнецов Россия  
Дата: 25.06.09 09:12
Оценка: 1 (1)
Здравствуйте, Ellin, Вы писали:

E>Как работать с этим экселем через xml? Заканапатился уже


Начиная с 2003 есть такая возможность.
Сперва его надо сохранить как XML. Затем работаешь с ним. Можно и читать и сохранять. И сохраненный файл потом корректно откроется самим Excel по двойному клику (несмотря на расширение).
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Re[2]: Открытие Excel файла как XML
От: Ellin Россия www.rsdn.ru
Дата: 25.06.09 09:19
Оценка:
Здравствуйте, Александр Кузнецов, Вы писали:

АК>Начиная с 2003 есть такая возможность.

АК>Сперва его надо сохранить как XML. Затем работаешь с ним. Можно и читать и сохранять. И сохраненный файл потом корректно откроется самим Excel по двойному клику (несмотря на расширение).

При этом абсолютно весь функционал сохраняется? Т.е. если вдруг формулы пропадут или еще что-то меня убьют . Можно ли это как-то программно сделать. Вот есть у меня директория с 800 мегов этих файлов — все надо конвертировать.
Re[3]: Открытие Excel файла как XML
От: Ovl Россия  
Дата: 25.06.09 09:53
Оценка:
E>Да... запарился я совсем... Я хочу работать с Excel файлами, как с хмl... Говорят так гораздо быстрее да и удобнее. Через объектную модель Excel не удобно...

вполне удобно. но все зависит от того что надо сделать. если просто прочитать данные — то и jet подойдет. если менять — то удобнее все-таки automation
Read or Die!
Как правильно задавать вопросы
Как правильно оформить свой вопрос
Автор: anvaka
Дата: 15.05.06
Re[3]: Открытие Excel файла как XML
От: Ovl Россия  
Дата: 25.06.09 09:55
Оценка:
Здравствуйте, Ellin, Вы писали:

E>Здравствуйте, Александр Кузнецов, Вы писали:


АК>>Начиная с 2003 есть такая возможность.

АК>>Сперва его надо сохранить как XML. Затем работаешь с ним. Можно и читать и сохранять. И сохраненный файл потом корректно откроется самим Excel по двойному клику (несмотря на расширение).

E>При этом абсолютно весь функционал сохраняется? Т.е. если вдруг формулы пропадут или еще что-то меня убьют . Можно ли это как-то программно сделать. Вот есть у меня директория с 800 мегов этих файлов — все надо конвертировать.


ничего не пропадет. это его стандарт — обязан поддерживать в полном объеме.
для конвертации можно написать тул открыл-"сохранил как"-закрыл-открыл-"сохранил как"-закрыл...

800 метров — не так много, можно сделать десяток-другой бекапов на всякий пожарный.
Read or Die!
Как правильно задавать вопросы
Как правильно оформить свой вопрос
Автор: anvaka
Дата: 15.05.06
Re[4]: Открытие Excel файла как XML
От: Воронков Василий Россия  
Дата: 25.06.09 09:59
Оценка: 1 (1)
Здравствуйте, Ovl, Вы писали:

Ovl>ничего не пропадет. это его стандарт — обязан поддерживать в полном объеме.


Ну в ХМЛе 2003 офиса что-то все-таки пропадало Касательно формул не уверен, а вот группировки слетали точно — причем сам Эксель при сохранении в ХМЛ предупреждал, что некоторые данные потеряются.
Re[5]: Открытие Excel файла как XML
От: Ovl Россия  
Дата: 25.06.09 10:06
Оценка: 1 (1)
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Здравствуйте, Ovl, Вы писали:


Ovl>>ничего не пропадет. это его стандарт — обязан поддерживать в полном объеме.


ВВ>Ну в ХМЛе 2003 офиса что-то все-таки пропадало Касательно формул не уверен, а вот группировки слетали точно — причем сам Эксель при сохранении в ХМЛ предупреждал, что некоторые данные потеряются.


да, оказывается есть такая тема. возможно это будет критично

вики:

XML Spreadsheet documents cannot store Visual Basic for Applications macros, auditing tracer arrows, chart and other graphic objects, custom views, drawing object layers, outlining, scenarios, shared workbook information and user-defined function categories.

Read or Die!
Как правильно задавать вопросы
Как правильно оформить свой вопрос
Автор: anvaka
Дата: 15.05.06
Re[6]: Открытие Excel файла как XML
От: Ellin Россия www.rsdn.ru
Дата: 25.06.09 10:29
Оценка:
Здравствуйте, Ovl, Вы писали:

Ovl>вики:

Ovl>

Ovl>XML Spreadsheet documents cannot store Visual Basic for Applications macros, auditing tracer arrows, chart and other graphic objects, custom views, drawing object layers, outlining, scenarios, shared workbook information and user-defined function categories.

Всем спасибо! Не буду я так делать... если что сожрут.
Re: Открытие Excel файла как XML
От: Kore Sar  
Дата: 25.06.09 16:50
Оценка:
E>Как работать с этим экселем через xml? Заканапатился уже

Попробуйте вот это: здесь


Overview
MyXLS is a .NET 2.0 library that writes and reads native Excel files quickly and easily, including formatting and multiple sheets. Generate Excel files for ASP.NET sites or .NET applications. Doesn't require Excel on the server or any licensing. Compatible with Excelversions 97 and up. Features

Pure .NET code — no P/Invokes, Interop assemblies, or Excel COM automation behind the scenes.
No other dependencies — add and reference the MyXls dll in your project and go!
Fast! (we will be adding some performance metrics)
Lightweight! The dll is only ~100 KB
Free to use, no licensing restrictions.
Open Source Project
The files generated are 100% compatible with Excel versions 97 and up. Files are BIFF8, which is Excel 97-2003's native format, and fully forward compatible with Excel 2007.
Create any number of Worksheets
Name Worksheets
Write values to any cell on any Worksheet — values don't have to be in contiguous ranges
Supports a good portion of Excel's formatting capabilities (bold, underline, italic, rotation, etc)
Supports writing Metadata — values displayed in Excel's File->Properties dialog box

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.