📄 writexml.js
字号:
function writeHeadXML()
{
var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
// 创建新文件
tf = fso.CreateTextFile("c:\\myxml.xml", true,true);//workspace\\WebExcel\\xmlfile\\
// 填写数据,并增加换行符
var content = "";
content +="<?xml version='1.0'?>\r\n";
content +="<?mso-application progid='Excel.Sheet'?>\r\n";
content +="<Workbook xmlns='urn:schemas-microsoft-com:office:spreadsheet'\r\n";
content +="xmlns:o='urn:schemas-microsoft-com:office:office'\r\n";
content +="xmlns:x='urn:schemas-microsoft-com:office:excel'\r\n";
content +="xmlns:ss='urn:schemas-microsoft-com:office:spreadsheet'\r\n";
content +="xmlns:html='http://www.w3.org/TR/REC-html40'>\r\n";
content +="<DocumentProperties xmlns='urn:schemas-microsoft-com:office:office'>\r\n";
content +="</DocumentProperties>\r\n";
content +="<ExcelWorkbook xmlns='urn:schemas-microsoft-com:office:excel'>\r\n";
content +="<ProtectStructure>False</ProtectStructure>\r\n";
content +="<ProtectWindows>False</ProtectWindows>\r\n";
content +="</ExcelWorkbook>\r\n";
content +="<Styles>\r\n";
content +="<Style ss:ID='Default' ss:Name='Normal'>\r\n";
content +="<Alignment ss:Vertical='Bottom'/>\r\n";
content +="<Borders/>\r\n";
content +="<Font ss:FontName='宋体' x:CharSet='134' ss:Size='12'/>\r\n";
content +="<Interior/>\r\n";
content +="<NumberFormat/>\r\n";
content +="<Protection/>\r\n";
content +="</Style>\r\n";
content +="<Style ss:ID='s21'>\r\n";
content +="<NumberFormat ss:Format='Currency'/>\r\n";
content +="</Style>\r\n";
content +="<Style ss:ID='s23'>\r\n";
content +="<Alignment ss:Horizontal='Center' ss:Vertical='Bottom'/>\r\n";
content +="</Style>\r\n";
content +="</Styles>\r\n";
content += writeWorkSheetXML();
tf.WriteLine(content);
tf.close();
fso = null;
content="";
}
function writeWorkSheetXML()
{
var content = "";
content += "<Worksheet ss:Name='sheet1'>\r\n";
content += "<Table ss:ExpandedColumnCount='"+effectcol+"' ss:ExpandedRowCount='"+effectrow+"' x:FullColumns='1'\r\n";
content += "x:FullRows='1' ss:DefaultColumnWidth='54.75' ss:DefaultRowHeight='14.25'>\r\n";
//写列
for(var i=1;i<=effectcol;i++)
{
content += "<Column ss:Index='"+i+"' ss:AutoFitWidth='0' ss:Width='"+parseFloat(toptable.rows[0].cells[i].offsetWidth)*3/parseFloat(4)+"'/>\r\n";
}
//写行
for(var i=1;i<=effectrow;i++)
{
content += "<Row ss:AutoFitHeight='0' ss:Height='"+parseFloat(tbobj.rows[i].offsetHeight)*3/parseFloat(4)+"'>\r\n";
for(var j=1;j<=effectcol;j++)
{
var obj = tbs.get(i+'-'+j);
var currow = obj.row;
if(currow!=i){continue;}//当前操作的是否为当前行
var curcol = obj.col;
var cellobj = tbobj.rows[currow].cells[curcol];
var text = cellobj.childNodes[0].innerText;
var rowspan = cellobj.rowSpan-1;
var colspan = cellobj.colSpan-1;
if(rowspan<=0&&colspan<=0&&text==""){continue;}
if(rowspan>0&&colspan>0)
{
if(text == "")
{
content += "<Cell ss:Index='"+j+"' ss:MergeDown='"+rowspan+"' ss:MergeAcross='"+colspan+"'/>\r\n";
}
else
{
content += "<Cell ss:Index='"+j+"' ss:MergeDown='"+rowspan+"' ss:MergeAcross='"+colspan+"'>\r\n";
content += "<Data ss:Type='String'>"+text+"</Data>\r\n";
content += "</Cell>\r\n";
}
}
else if(rowspan>0)
{
if(text == "")
{
content += "<Cell ss:Index='"+j+"' ss:MergeDown='"+rowspan+"'/>\r\n";
}
else
{
content += "<Cell ss:Index='"+j+"' ss:MergeDown='"+rowspan+"'>\r\n";
content += "<Data ss:Type='String'>"+text+"</Data>\r\n";
content += "</Cell>\r\n";
}
}
else if(colspan>0)
{
if(text == "")
{
content += "<Cell ss:Index='"+j+"' ss:MergeAcross='"+colspan+"'/>\r\n";
}
else
{
content += "<Cell ss:Index='"+j+"' ss:MergeAcross='"+colspan+"'>\r\n";
content += "<Data ss:Type='String'>"+text+"</Data>\r\n";
content += "</Cell>\r\n";
}
}
else
{
//text有值
content += "<Cell ss:Index='"+j+"'>\r\n";
content += "<Data ss:Type='String'>"+text+"</Data>\r\n";
content += "</Cell>\r\n";
}
j += colspan;
}
content += "</Row>\r\n";
}
content += "</Table>\r\n";
content += "<WorksheetOptions xmlns='urn:schemas-microsoft-com:office:excel'>\r\n";
content += "<ProtectObjects>False</ProtectObjects>\r\n";
content += "<ProtectScenarios>False</ProtectScenarios>\r\n";
content += "</WorksheetOptions>\r\n";
content += "</Worksheet>\r\n";
content += "</Workbook>\r\n";
return content;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -