WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

MSXML

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

XMLDOM Version to Import Excel 2002


Okay, if you have MSIE 5+ you'll automatically have the XMLDOM installed (msxml3.dll), along with v3 of SAX XML Reader and the XML Writer. It's virtually identical to the MS XML 4, aside from the ProgIDs (see each of the objectopen statements below) and I was able to read an existing Excel 2002 spreadsheet that was exported to XML, edit it and create a XML document to import and successfully import it into Excel 2002.

If you want to look at the objects, methods and properties you can use Excel's object browser and hit the TOOLS menu, REFERENCES and check the Microsoft XML 3.0 and you're there.

There's a number of small changes you'd have to make to get this to fit your specific Excel sheet's export parameters, but this does work.

You'll also have to change the data retreival/building portion to work with your CSV files or whatever.

Winbatch 2004E and MSIE 5.0+ and Excel 2002...

#DefineFunction ParseXML(xml)
	rdr = ObjectOpen("Msxml2.SAXXMLReader.3.0")
	wrt = ObjectOpen("Msxml2.MXXMLWriter.3.0")
	wrt.byteOrderMark = @False
	wrt.omitXMLDeclaration = @False
	wrt.indent = @True
	wrt.encoding = "UTF-8"
	wrt.standalone = @false
	;'set the writer to the content handler
	rdr.contentHandler = wrt
	rdr.dtdHandler = wrt
	rdr.PutProperty("http://xml.org/sax/properties/lexical-handler", wrt)
	rdr.PutProperty("http://xml.org/sax/properties/declaration-handler", wrt)
	rdr.Parse(xml)
	newxml = wrt.output
	objectclose(wrt)
	objectclose(rdr)
	return(newxml)
#EndFunction
;
#defineFunction GetXMLNameSpaceStr(xfile)
	xmlDoc = ObjectOpen("Microsoft.XMLDOM")
	xmlDoc.async = @False		
	xmlDoc.load(xfile)
	root = xmlDoc.documentElement
	nsvalues = ""
	for x = 0 to root.attributes.length-1
		if strindexnc(root.attributes.item(x).name, "xmlns", 1, @fwdscan)
			thisns = strcat(root.attributes.item(x).name, "='", root.attributes.item(x).value, "'")
			nsvalues = iteminsert(thisns, -1, nsvalues, " ")
		endif
	next
	objectclose(root)
	objectclose(xmlDoc)
	return(nsvalues)
#endFunction
;
#DefineFunction BuildHeaderRow(xmlDoc, HeaderList, styleHeader)
	HRow = xmlDoc.createElement("Row")
	For c = 1 to itemcount(HeaderList, "|")
		ThisHdr = itemextract(c, HeaderList, "|")
		Cell = xmlDoc.createElement("Cell")
		Cell.setAttribute("xmlns:ss", "urn:schemas-microsoft-com:office:spreadsheet")
		Cell.setAttribute("ss:StyleID", styleHeader)
;
		Data = xmlDoc.createElement("Data")
		Data.setAttribute("ss:Type", "String")  ;<-- always string ??? ;)
		Data.text = ThisHdr
		Cell.appendChild(Data)
		HRow.appendChild(Cell)
	next
	return(HRow)
#EndFunction
;
#DefineFunction BuildDataRow(xmlDoc, DataList, styleData)
	DRow = xmlDoc.createElement("Row")
	For c = 1 to itemcount(DataList, "|")
		ThisData = itemextract(c, DataList, "|")
		Cell = xmlDoc.createElement("Cell")
		Cell.setAttribute("xmlns:ss", "urn:schemas-microsoft-com:office:spreadsheet")
		Cell.setAttribute("ss:StyleID", styleData)
;
		Data = xmlDoc.createElement("Data")
		if isNumber(ThisData)
			DataType = "Number"
		else
			DataType = "String"
		endif
		Data.setAttribute("ss:Type", DataType)
		Data.text = ThisData
		Cell.appendChild(Data)
		DRow.appendChild(Cell)
	next
	return(DRow)
#EndFunction
;
xfile = strcat(dirscript(), "XML Test.xml")
;
xmlDoc = ObjectOpen(`Microsoft.XMLDOM`)
xmlDoc.async = @False		
xmlDoc.load(xfile)
;
ns = GetXMLNameSpaceStr(xfile)
xmlDoc.setProperty("SelectionNamespaces", ns);
;
;	first delete all but the first worksheet...
xpath = "//ss:Worksheet"
WSCount = xmlDoc.documentElement.selectNodes(xpath).length
;
Terminate(WSCount < 1, "Excel XML", "No Worksheet nodes in source document...exiting.")
;
if WSCount > 1
	for x = 1 to WSCount-1
;	always delete the 2nd item, since the count decrements each time we remove a child node...
		ThisWorksheet = xmlDoc.documentElement.selectNodes(xpath).item(1)
		Parent = ThisWorksheet.parentNode
		Parent.removeChild(ThisWorksheet)
		Parent = 0
		ThisWorksheet = 0
	next
endif
;
;	now edit the first worksheet so it fits the new data...
WS = xmlDoc.documentElement.selectSingleNode(xpath)
WS.setAttribute("ss:Name", "Winbatch Test Import")
;
;	let's get some sample data...
HeaderList = "Name|Last Accessed"
FolderList = strreplace(DirItemize("C:\*.*"), @tab, "|")
FolderTimeList = ""
for f = 1 to itemcount(FolderList, "|")
	ThisFolder = strcat("C:\", itemextract(f, FolderList, "|"))
	FolderTimeList = iteminsert(FileTimeGetEx(ThisFolder, 3), -1, FolderTimeList, "|")
next
;
;	now edit the Table element so that it has the correct column & row counts
Table = xmlDoc.documentElement.selectSingleNode("//ss:Table")
Table.setAttribute("ss:ExpandedColumnCount", itemcount(HeaderList, "|"))
;	add one for the header row...
Table.setAttribute("ss:ExpandedRowCount", itemcount(FolderList, "|")+1)
;
;	specify the formatting styles...
styleHeader = "s21"
styleData   = "s22"
;
;	now remove all the table's rows...
Table.selectNodes("//ss:Row").removeAll
;	build a new header row from the list...
Table.appendChild(BuildHeaderRow(xmlDoc, HeaderList, styleHeader))
;
;	build the data table...
for f = 1 to itemcount(FolderList, "|")
	ThisRow = strcat(itemextract(f, FolderList, "|"), "|", itemextract(f, FolderTimeList, "|"))
	Table.appendChild(BuildDataRow(xmlDoc, ThisRow, styleData))
next
;
;	now do the export...
ifile = strcat(dirscript(), "Test Import.xml")
;
;	parse the document using the SAX XML Writer...
x = ParseXML(xmlDoc.xml)
x = strreplace(x, ` xmlns=""`, "")  ;-- must remove the null xmlns attributes that MSXML puts in automatically...
;
;	reload the formatted XML and save it...
xmlDoc.loadXML(x)
xmlDoc.save(ifile)
;
;	import into Excel...
oExcel = Objectopen("Excel.Application")
oExcel.Workbooks.Open(ifile)
oExcel.Visible = @true
oExcel.UserControl = @true
;
message("Debug", "All Done")
;
exit


XML Test.xml

<?xml version="1.0"?>
<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>Jay Alverson</Author>
  <LastAuthor>Jay Alverson</LastAuthor>
  <Created>2004-12-06T01:12:30Z</Created>
  <LastSaved>2004-12-06T01:17:11Z</LastSaved>
  <Version>10.2625</Version>
 </DocumentProperties>
 <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
  <DownloadComponents/>
  <LocationOfComponents HRef="file:///D:\"/>
 </OfficeDocumentSettings>
 <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
  <WindowHeight>9210</WindowHeight>
  <WindowWidth>12315</WindowWidth>
  <WindowTopX>360</WindowTopX>
  <WindowTopY>60</WindowTopY>
  <ProtectStructure>False</ProtectStructure>
  <ProtectWindows>False</ProtectWindows>
 </ExcelWorkbook>
 <Styles>
  <Style ss:ID="Default" ss:Name="Normal">
   <Alignment ss:Vertical="Bottom"/>
   <Borders/>
   <Font/>
   <Interior/>
   <NumberFormat/>
   <Protection/>
  </Style>
  <Style ss:ID="s21">
   <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
   </Borders>
   <Font x:Family="Swiss" ss:Bold="1"/>
   <Interior ss:Color="#CCFFFF" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="s22">
   <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
   </Borders>
  </Style>
  <Style ss:ID="s23">
   <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
   </Borders>
   <Font x:Family="Swiss" ss:Bold="1"/>
   <Interior ss:Color="#FFFF99" ss:Pattern="Solid"/>
  </Style>
 </Styles>
 <Worksheet ss:Name="Sheet1">
  <Table ss:ExpandedColumnCount="5" ss:ExpandedRowCount="22" x:FullColumns="1"
   x:FullRows="1">
   <Row>
    <Cell ss:StyleID="s21"><Data ss:Type="String">Header 1</Data></Cell>
    <Cell ss:StyleID="s21"><Data ss:Type="String">Header 2</Data></Cell>
    <Cell ss:StyleID="s21"><Data ss:Type="String">Header 3</Data></Cell>
    <Cell ss:StyleID="s21"><Data ss:Type="String">Header 4</Data></Cell>
    <Cell ss:StyleID="s21"><Data ss:Type="String">Header 5</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22"><Data ss:Type="Number">1</Data></Cell>
    <Cell ss:StyleID="s22"><Data ss:Type="Number">2</Data></Cell>
    <Cell ss:StyleID="s22"><Data ss:Type="Number">3</Data></Cell>
    <Cell ss:StyleID="s22"><Data ss:Type="Number">4</Data></Cell>
    <Cell ss:StyleID="s22"><Data ss:Type="Number">5</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">6</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">7</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">8</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">9</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">10</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">11</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">12</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">13</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">14</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">15</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">16</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">17</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">18</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">19</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">20</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">21</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">22</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">23</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">24</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">25</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">26</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">27</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">28</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">29</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">30</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">31</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">32</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">33</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">34</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">35</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">36</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">37</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">38</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">39</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">40</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">41</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">42</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">43</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">44</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">45</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">46</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">47</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">48</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">49</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">50</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">51</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">52</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">53</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">54</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">55</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">56</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">57</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">58</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">59</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">60</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">61</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">62</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">63</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">64</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">65</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">66</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">67</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">68</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">69</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">70</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">71</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">72</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">73</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">74</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">75</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">76</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">77</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">78</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">79</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">80</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">81</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">82</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">83</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">84</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">85</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">86</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">87</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">88</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">89</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">90</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">91</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">92</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">93</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">94</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">95</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">96</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">97</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">98</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">99</Data></Cell>
    <Cell ss:StyleID="s22" ss:Formula="=R[-1]C+5"><Data ss:Type="Number">100</Data></Cell>
   </Row>
   <Row>
    <Cell ss:StyleID="s23" ss:Formula="=SUM(R[-20]C:R[-1]C)"><Data ss:Type="Number">970</Data></Cell>
    <Cell ss:StyleID="s23" ss:Formula="=SUM(R[-20]C:R[-1]C)"><Data ss:Type="Number">990</Data></Cell>
    <Cell ss:StyleID="s23" ss:Formula="=SUM(R[-20]C:R[-1]C)"><Data ss:Type="Number">1010</Data></Cell>
    <Cell ss:StyleID="s23" ss:Formula="=SUM(R[-20]C:R[-1]C)"><Data ss:Type="Number">1030</Data></Cell>
    <Cell ss:StyleID="s23" ss:Formula="=SUM(R[-20]C:R[-1]C)"><Data ss:Type="Number">1050</Data></Cell>
   </Row>
  </Table>
  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
   <Print>
    <ValidPrinterInfo/>
    <HorizontalResolution>1200</HorizontalResolution>
    <VerticalResolution>1200</VerticalResolution>
   </Print>
   <Selected/>
   <ProtectObjects>False</ProtectObjects>
   <ProtectScenarios>False</ProtectScenarios>
  </WorksheetOptions>
 </Worksheet>
 <Worksheet ss:Name="Sheet2">
  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
   <ProtectObjects>False</ProtectObjects>
   <ProtectScenarios>False</ProtectScenarios>
  </WorksheetOptions>
 </Worksheet>
 <Worksheet ss:Name="Sheet3">
  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
   <ProtectObjects>False</ProtectObjects>
   <ProtectScenarios>False</ProtectScenarios>
  </WorksheetOptions>
 </Worksheet>
</Workbook>

Article ID:   W17350
File Created: 2007:07:03:14:29:34
Last Updated: 2007:07:03:14:29:34