На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
Модераторы: Pr0[)!9Y, ANDLL
  
> Как в С++ считать данные из ячеек таблицы Excel формата xml
    Доброго времени суток
    Прошу помощи
    Есть такой фрагмент файла XML

    <Data ss:Type="Number">float</Data>

    Как мне отсюда считать значения параметра float? Должна же быть некая простая функция

    Вот собственно, как я до этого дошел.

    ExpandedWrap disabled
      TiXmlDocument xml_file("InputData.xml");             //Открытие входного файла
      xml_file.LoadFile();                                          //Открываем его для чтения
      TiXmlElement *xml_Worksheet, *xml_Table, *xml_Row, *xml_Cell, *xml_CellData;  // определяем переменные типа xml
      xml_Worksheet = xml_file.RootElement()->FirstChildElement(); // В дереве Worksheet заходим в дочернюю ветку  
      int i,j;
      for (i=0;i<4;i++)                                                
      {
          xml_Worksheet = xml_Worksheet->NextSiblingElement();     // В цикле прыгаем с ветки на ветку, пока не найдем нужную
          if (i==3)                                                                 // Нашли  
                   {
                      xml_Table=xml_Worksheet->FirstChildElement();       // Это наша таблица, теперь находим ее дочерние ветки
                      xml_Row = xml_Table->FirstChildElement();           // Каждая ветка - это строка таблицы
            
                      for(j=2;j<12;j++)                              //Прыгаем по строкам таблицы
                                      {
                                      xml_Row = xml_Row->NextSiblingElement();      //Собственно "прыжок"
                                      xml_Row->Print(  stdout, 1 );                 // И вывод текущей строки
                                      xml_Cell = xml_Row->FirstChildElement();
                                      xml_CellData = xml_Cell->FirstChildElement();
                                          //И теперь вот тут из xml_CellData мне нужно достать значение. КАК?
       
                                                                     }
                      }
      }




    Вт собственно XML FILE
    ExpandedWrap disabled
      <?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">
        <Created>2006-09-16T00:00:00Z</Created>
        <LastSaved>2006-09-16T00:00:00Z</LastSaved>
        <Version>15.00</Version>
       </DocumentProperties>
       <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
        <AllowPNG/>
        <RemovePersonalInformation/>
       </OfficeDocumentSettings>
       <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
        <WindowHeight>4620</WindowHeight>
        <WindowWidth>15345</WindowWidth>
        <WindowTopX>0</WindowTopX>
        <WindowTopY>0</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:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
         <Interior/>
         <NumberFormat/>
         <Protection/>
        </Style>
        <Style ss:ID="s62">
         <NumberFormat/>
        </Style>
       </Styles>
       <Worksheet ss:Name="Лист1">
        <Table ss:ExpandedColumnCount="7" ss:ExpandedRowCount="11" x:FullColumns="1"
         x:FullRows="1" ss:DefaultRowHeight="15">
         <Row ss:AutoFitHeight="0">
          <Cell><Data ss:Type="String">Time</Data></Cell>
          <Cell><Data ss:Type="String">Current_A</Data></Cell>
          <Cell><Data ss:Type="String">Current_B</Data></Cell>
          <Cell><Data ss:Type="String">Сurrent_C</Data></Cell>
          <Cell><Data ss:Type="String">Voltage_A</Data></Cell>
          <Cell><Data ss:Type="String">Voltage_B</Data></Cell>
          <Cell><Data ss:Type="String">Voltage_C</Data></Cell>
         </Row>
         <Row ss:AutoFitHeight="0">
          <Cell ss:StyleID="s62"><Data ss:Type="Number">1</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">5</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">8</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">10</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">220</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">270</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">310</Data></Cell>
         </Row>
         <Row ss:AutoFitHeight="0">
          <Cell ss:StyleID="s62"><Data ss:Type="Number">2</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">5</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">8</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">10</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">220</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">270</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">310</Data></Cell>
         </Row>
         <Row ss:AutoFitHeight="0">
          <Cell ss:StyleID="s62"><Data ss:Type="Number">3</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">5</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">8</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">10</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">220</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">270</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">310</Data></Cell>
         </Row>
         <Row ss:AutoFitHeight="0">
          <Cell ss:StyleID="s62"><Data ss:Type="Number">4</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">5</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">8</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">10</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">220</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">270</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">310</Data></Cell>
         </Row>
         <Row ss:AutoFitHeight="0">
          <Cell ss:StyleID="s62"><Data ss:Type="Number">5</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">5</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">8</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">10</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">220</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">270</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">310</Data></Cell>
         </Row>
         <Row ss:AutoFitHeight="0">
          <Cell ss:StyleID="s62"><Data ss:Type="Number">6</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">6</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">9</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">11</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">230</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">280</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">320</Data></Cell>
         </Row>
         <Row ss:AutoFitHeight="0">
          <Cell ss:StyleID="s62"><Data ss:Type="Number">7</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">6</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">9</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">11</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">230</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">280</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">320</Data></Cell>
         </Row>
         <Row ss:AutoFitHeight="0">
          <Cell ss:StyleID="s62"><Data ss:Type="Number">8</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">6</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">9</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">11</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">230</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">280</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">320</Data></Cell>
         </Row>
         <Row ss:AutoFitHeight="0">
          <Cell ss:StyleID="s62"><Data ss:Type="Number">9</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">7</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">10</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">12</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">240</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">290</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">330</Data></Cell>
         </Row>
         <Row ss:AutoFitHeight="0">
          <Cell ss:StyleID="s62"><Data ss:Type="Number">10</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">8</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">11</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">13</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">241</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">291</Data></Cell>
          <Cell ss:StyleID="s62"><Data ss:Type="Number">331</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>
         <Unsynced/>
         <Selected/>
         <Panes>
          <Pane>
           <Number>3</Number>
           <ActiveRow>10</ActiveRow>
           <ActiveCol>7</ActiveCol>
          </Pane>
         </Panes>
         <ProtectObjects>False</ProtectObjects>
         <ProtectScenarios>False</ProtectScenarios>
        </WorksheetOptions>
       </Worksheet>
      </Workbook>
    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script Execution time: 0,0862 ]   [ 17 queries used ]   [ Generated: 25.08.19, 09:21 GMT ]