Репорты в Excel без установленного Excel
#2
Опубликовано 03 Декабрь 2007 - 23:46
#4
Опубликовано 04 Декабрь 2007 - 00:18
А самому взять Excel и при сохранении выбрать xml никак?Обычные XML ? Вроде как нет. Пример можешь выложить ?
#5
Опубликовано 04 Декабрь 2007 - 00:22
это звучит как предЪяваА самому взять Excel и при сохранении выбрать xml никак?
#6
Опубликовано 04 Декабрь 2007 - 00:23
А самому взять Excel и при сохранении выбрать xml никак?
Да легко. Тока она кривляется =\
1231321.JPG 148,36 КБ 5 Скачано
UPD
Сохранил =)
Но это пзц.... для таблички на скриншоте получаеццо такой файл..... О_о
<?xml version="1.0"?> <?mso-application progid="Excel.Sheet"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"> <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> <Author>Customer</Author> <LastAuthor>Customer</LastAuthor> <Created>2007-12-03T20:20:13Z</Created> <Company>Reanimator Extreme Edition</Company> <Version>12.00</Version> </DocumentProperties> <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> <WindowHeight>9075</WindowHeight> <WindowWidth>18975</WindowWidth> <WindowTopX>120</WindowTopX> <WindowTopY>30</WindowTopY> <ProtectStructure>False</ProtectStructure> <ProtectWindows>False</ProtectWindows> </ExcelWorkbook> <Styles> <Style ss:ID="Default" ss:Name="Normal"> <Alignment ss:Vertical="Bottom"/> <Borders/> <Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/> <Interior/> <NumberFormat/> <Protection/> </Style> </Styles> <Worksheet ss:Name="Р›ист1"> <Table ss:ExpandedColumnCount="4" ss:ExpandedRowCount="3" x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="15"> <Row> <Cell><Data ss:Type="Number">1</Data></Cell> <Cell><Data ss:Type="Number">2</Data></Cell> <Cell><Data ss:Type="Number">2</Data></Cell> </Row> <Row> <Cell ss:Index="2"><Data ss:Type="Number">3</Data></Cell> <Cell><Data ss:Type="Number">3</Data></Cell> </Row> <Row> <Cell ss:Index="2"><Data ss:Type="Number">4</Data></Cell> <Cell><Data ss:Type="Number">4</Data></Cell> <Cell><Data ss:Type="Number">4</Data></Cell> </Row> </Table> <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> <PageSetup> <Header x:Margin="0.3"/> <Footer x:Margin="0.3"/> <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/> </PageSetup> <Selected/> <Panes> <Pane> <Number>3</Number> <ActiveRow>3</ActiveRow> <ActiveCol>1</ActiveCol> </Pane> </Panes> <ProtectObjects>False</ProtectObjects> <ProtectScenarios>False</ProtectScenarios> </WorksheetOptions> </Worksheet> <Worksheet ss:Name="Р›ист2"> <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="15"> </Table> <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> <PageSetup> <Header x:Margin="0.3"/> <Footer x:Margin="0.3"/> <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/> </PageSetup> <ProtectObjects>False</ProtectObjects> <ProtectScenarios>False</ProtectScenarios> </WorksheetOptions> </Worksheet> <Worksheet ss:Name="Р›ист3"> <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="15"> </Table> <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> <PageSetup> <Header x:Margin="0.3"/> <Footer x:Margin="0.3"/> <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/> </PageSetup> <ProtectObjects>False</ProtectObjects> <ProtectScenarios>False</ProtectScenarios> </WorksheetOptions> </Worksheet> </Workbook>
#7
Опубликовано 04 Декабрь 2007 - 00:25
О, как интересно. Первый попавшийся файл легко сохранился в xml.Да легко. Тока она кривляется =\
ftp://77.244.212.59/Temp/Расписание 200712.xml
#9
Опубликовано 04 Декабрь 2007 - 00:43
Хех, ну и как с этим всем разбираццо ?
Вроде проще через Stream запонлнять, но на эту тему я тож так и не нашел достаточной инфы =(
ну описание этого формата есть в msdn. - на самао деле там вроде все понятно - вначале идет заголовок, потом описание стилей и сами поля.
Делаешь какой-нибудь тестовый файл excel - форматируешь его (задаешь цвета, ограничения, форматы ячеек), заполняешь данными типа 1 2 3 4 - чтобы можно было найти эти данные в xml - ну а дальше по образу и подобию ваша программа должна это генерить.
#10
Опубликовано 04 Декабрь 2007 - 20:40
Да легко. Тока она кривляется =\
1231321.JPG 148,36 КБ 5 Скачано
UPD
Сохранил =)
Но это пзц.... для таблички на скриншоте получаеццо такой файл..... О_о<?xml version="1.0"?> <?mso-application progid="Excel.Sheet"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"> <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> <Author>Customer</Author> <LastAuthor>Customer</LastAuthor> <Created>2007-12-03T20:20:13Z</Created> <Company>Reanimator Extreme Edition</Company> <Version>12.00</Version> </DocumentProperties> <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> <WindowHeight>9075</WindowHeight> <WindowWidth>18975</WindowWidth> <WindowTopX>120</WindowTopX> <WindowTopY>30</WindowTopY> <ProtectStructure>False</ProtectStructure> <ProtectWindows>False</ProtectWindows> </ExcelWorkbook> <Styles> <Style ss:ID="Default" ss:Name="Normal"> <Alignment ss:Vertical="Bottom"/> <Borders/> <Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/> <Interior/> <NumberFormat/> <Protection/> </Style> </Styles> <Worksheet ss:Name="Р›ист1"> <Table ss:ExpandedColumnCount="4" ss:ExpandedRowCount="3" x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="15"> <Row> <Cell><Data ss:Type="Number">1</Data></Cell> <Cell><Data ss:Type="Number">2</Data></Cell> <Cell><Data ss:Type="Number">2</Data></Cell> </Row> <Row> <Cell ss:Index="2"><Data ss:Type="Number">3</Data></Cell> <Cell><Data ss:Type="Number">3</Data></Cell> </Row> <Row> <Cell ss:Index="2"><Data ss:Type="Number">4</Data></Cell> <Cell><Data ss:Type="Number">4</Data></Cell> <Cell><Data ss:Type="Number">4</Data></Cell> </Row> </Table> <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> <PageSetup> <Header x:Margin="0.3"/> <Footer x:Margin="0.3"/> <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/> </PageSetup> <Selected/> <Panes> <Pane> <Number>3</Number> <ActiveRow>3</ActiveRow> <ActiveCol>1</ActiveCol> </Pane> </Panes> <ProtectObjects>False</ProtectObjects> <ProtectScenarios>False</ProtectScenarios> </WorksheetOptions> </Worksheet> <Worksheet ss:Name="Р›ист2"> <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="15"> </Table> <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> <PageSetup> <Header x:Margin="0.3"/> <Footer x:Margin="0.3"/> <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/> </PageSetup> <ProtectObjects>False</ProtectObjects> <ProtectScenarios>False</ProtectScenarios> </WorksheetOptions> </Worksheet> <Worksheet ss:Name="Р›ист3"> <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="15"> </Table> <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> <PageSetup> <Header x:Margin="0.3"/> <Footer x:Margin="0.3"/> <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/> </PageSetup> <ProtectObjects>False</ProtectObjects> <ProtectScenarios>False</ProtectScenarios> </WorksheetOptions> </Worksheet> </Workbook>
Ох уж этот OOXML)))
#11
Опубликовано 05 Декабрь 2007 - 22:26
#12
Опубликовано 05 Декабрь 2007 - 23:30
а че, excel вообще никак не поставить и заполнять через ole?
Да легко, это уже давно сделано. Но требуют что бы была возможность сделать репорт без установленного экселя. Да и работать это будет в *цать раз быстрее......
#13
Опубликовано 06 Декабрь 2007 - 18:49
Тут ты не прав. Через оле все очень быстро. Хотя конечно если тебе реально много инфы надо в Excel, то может и медленноДа легко, это уже давно сделано. Но требуют что бы была возможность сделать репорт без установленного экселя. Да и работать это будет в *цать раз быстрее......
#14
Опубликовано 06 Декабрь 2007 - 19:10
Тут ты не прав. Через оле все очень быстро. Хотя конечно если тебе реально много инфы надо в Excel, то может и медленно
Быстро ??? Ты сам то пробовал ???? Попробуй добавить тысяч 5-10 записей с форматированием.... и посмотри скока это времени займет.
#15
Опубликовано 07 Декабрь 2007 - 18:31
#16
Опубликовано 16 Январь 2008 - 17:14
5000-10000 можно добавить если передавать сразу Range
Алкогольная декларация?
Посетителей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных пользователей