总结 javascript操作Word.Application 一点小知识
需求:1、在操作一个分析报告。需要有表格、分析图形。用户单击打开分析报告
做法:在项目的目录下建一个word文档,把一些固定的文字先写好。在需要插入数据的地方设置上word书签。(word书签:插入à书签)
数据根据用户的选择更新。所以在后台组织数据。我把数据作出了xml的形式往前台传。
后台代码:
HashMap resultMap = new HashMap();
//单个数据,一个数值
HashMap resultMap1 = (HashMap) resultMap.get("valueMap");
resultMap1.put("d", vd);
resultMap1.put("e", ve);
resultMap1.put("f", vf);
//列表数据,插入的数据是list形式
resultMap.put("zykpit", zykpit);
resultMap.put("dxwlfykpit", dxwlfykpit);
resultMap.put("wlzfykpit", wlzfykpit);
resultMap.put("wlfylrlkpit", wlfylrlkpit);
resultMap.put("dxccfjfykpit", dxccfjfykpit);
resultMap.put("dxpsfykpit", dxpsfykpit);
resultMap.put("dxglfykpit", dxglfykpit);
String xmlString = this.xmlString(resultMap);
public String xmlString(HashMap resultMap) {
String finalString = "";
HashMap valueMap = (HashMap) resultMap.get("valueMap");
List zykpit = (List) resultMap.get("zykpit");
List dxwlfykpit = (List) resultMap.get("dxwlfykpit");
List wlzfykpit = (List) resultMap.get("wlzfykpit");
List wlfylrlkpit = (List) resultMap.get("wlfylrlkpit");
List dxccfjfykpit = (List) resultMap.get("dxccfjfykpit");
List dxpsfykpit = (List) resultMap.get("dxpsfykpit");
List dxglfykpit = (List) resultMap.get("dxglfykpit");
StringBuffer xml = new StringBuffer("<ROOT>");
xml.append("<resultMap>");
xml.append("<d>");
xml.append(valueMap.get("d"));
xml.append("</d>");
xml.append("<e>");
xml.append(valueMap.get("e"));
xml.append("</e>");
xml.append("<f>");
xml.append(valueMap.get("f"));
xml.append("</f>");
xml.append("</resultMap>");
xml.append("<zykpit>");
for (int i = 0; i <= zykpit.size() - 1; i++) {
xml.append("<row>");
for (int j = 0; j <= ((List) zykpit.get(i)).size() - 1; j++) {
xml.append("<data>");
xml.append(((List) zykpit.get(i)).get(j));
xml.append("</data>");
}
xml.append("</row>");
}
xml.append("</zykpit>");
xml.append("<dxwlfykpit>");
for (int i = 0; i <= dxwlfykpit.size() - 1; i++) {
xml.append("<row>");
for (int j = 0; j <= ((List) dxwlfykpit.get(i)).size() - 1; j++) {
xml.append("<data>");
xml.append(((List) dxwlfykpit.get(i)).get(j));
xml.append("</data>");
}
xml.append("</row>");
}
xml.append("</dxwlfykpit>");
xml.append("<wlzfykpit>");
for (int i = 0; i <= wlzfykpit.size() - 1; i++) {
xml.append("<row>");
for (int j = 0; j <= ((List) wlzfykpit.get(i)).size() - 1; j++) {
xml.append("<data>");
xml.append(((List) wlzfykpit.get(i)).get(j));
xml.append("</data>");
}
xml.append("</row>");
}
xml.append("</wlzfykpit>");
xml.append("<wlfylrlkpit>");
for (int i = 0; i <= wlfylrlkpit.size() - 1; i++) {
xml.append("<row>");
for (int j = 0; j <= ((List) wlfylrlkpit.get(i)).size() - 1; j++) {
xml.append("<data>");
xml.append(((List) wlfylrlkpit.get(i)).get(j));
xml.append("</data>");
}
xml.append("</row>");
}
xml.append("</wlfylrlkpit>");
xml.append("<dxccfjfykpit>");
for (int i = 0; i <= dxccfjfykpit.size() - 1; i++) {
xml.append("<row>");
for (int j = 0; j <= ((List) dxccfjfykpit.get(i)).size() - 1; j++) {
xml.append("<data>");
xml.append(((List) dxccfjfykpit.get(i)).get(j));
xml.append("</data>");
}
xml.append("</row>");
}
xml.append("</dxccfjfykpit>");
xml.append("<dxpsfykpit>");
for (int i = 0; i <= dxpsfykpit.size() - 1; i++) {
xml.append("<row>");
for (int j = 0; j <= ((List) dxpsfykpit.get(i)).size() - 1; j++) {
xml.append("<data>");
xml.append(((List) dxpsfykpit.get(i)).get(j));
xml.append("</data>");
}
xml.append("</row>");
}
xml.append("</dxpsfykpit>");
xml.append("<dxglfykpit>");
for (int i = 0; i <= dxglfykpit.size() - 1; i++) {
xml.append("<row>");
for (int j = 0; j <= ((List) dxglfykpit.get(i)).size() - 1; j++) {
xml.append("<data>");
xml.append(((List) dxglfykpit.get(i)).get(j));
xml.append("</data>");
}
xml.append("</row>");
}
xml.append("</dxglfykpit>");
xml.append("</ROOT>");
finalString = xml.toString();
后继补充:
Word.Application 设置字体、字号、粗体、对齐方式、字体颜色
//字体
font.name = "宋体";
//字号
font.Size = 10;
//粗体
font.Bold = 1
//对齐形式
ParagraphFormat.Alignment =1; //1居中对齐,0为居右
字体颜色
font.color = 6442999;
如果有使用标签,则声明完对象,对象名称.Font.color = 111111;