Преобразование электронной таблицы Excel в XML - PullRequest
0 голосов
/ 03 июля 2018

У меня есть таблица Excel. Когда я попытался сохранить электронную таблицу Excel в формате XML, все ведущие нули были потеряны. Я использую Excel 2016. У меня 63138 строк в таблице Excel. Ниже приведены примерные данные моей таблицы Excel.

Col1  col2     col3  col4    col5
32    000001    000    001    1
32    000032    000    032    22
32    000111    000    111    032

Как я могу помешать Excel выпадать из начальных нулей при сохранении файла в формате XML. Все последние столбцы были отформатированы как текст. Ниже изображение:

enter image description here

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 03 июля 2018

Вы можете использовать перечисление XlRangeValueDataType для свойства Value объекта Range. Все нули сохраняются. Для вашего примера с пятью столбцами вы получите:

Sub GGG()

    Dim rng As Range
    Dim xml$

    xml = Range("A1").CurrentRegion.Value(XlRangeValueDataType.xlRangeValueXMLSpreadsheet)

    '// Save string here somewhere

End Sub

Выход:

<?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">
 <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>
  <Style ss:ID="s63">
   <Alignment ss:Horizontal="Left" ss:Vertical="Center"/>
   <Font ss:FontName="Inherit" x:CharSet="204" ss:Color="#303336"/>
  </Style>
  <Style ss:ID="s68">
   <NumberFormat ss:Format="@"/>
  </Style>
 </Styles>
 <Worksheet ss:Name="Sheet1">
  <Table ss:ExpandedColumnCount="5" ss:ExpandedRowCount="4" ss:StyleID="s68"
   ss:DefaultRowHeight="15">
   <Row>
    <Cell ss:StyleID="s63"><Data ss:Type="String">Col1</Data></Cell>
    <Cell><Data ss:Type="String">col2</Data></Cell>
    <Cell><Data ss:Type="String">col3</Data></Cell>
    <Cell><Data ss:Type="String">col4</Data></Cell>
    <Cell><Data ss:Type="String">col5</Data></Cell>
   </Row>
   <Row>
    <Cell><Data ss:Type="String">32</Data></Cell>
    <Cell><Data ss:Type="String">000001</Data></Cell>
    <Cell><Data ss:Type="String">000</Data></Cell>
    <Cell><Data ss:Type="String">001</Data></Cell>
    <Cell><Data ss:Type="String">1</Data></Cell>
   </Row>
   <Row>
    <Cell><Data ss:Type="String">32</Data></Cell>
    <Cell><Data ss:Type="String">000032</Data></Cell>
    <Cell><Data ss:Type="String">000</Data></Cell>
    <Cell><Data ss:Type="String">032</Data></Cell>
    <Cell><Data ss:Type="String">22</Data></Cell>
   </Row>
   <Row>
    <Cell><Data ss:Type="String">32</Data></Cell>
    <Cell><Data ss:Type="String">000111</Data></Cell>
    <Cell><Data ss:Type="String">000</Data></Cell>
    <Cell><Data ss:Type="String">111</Data></Cell>
    <Cell><Data ss:Type="String">032</Data></Cell>
   </Row>
  </Table>
 </Worksheet>
</Workbook>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...