Javascript 将数据库中的数据写入WORD文档的表格中
来源:互联网 发布:mac 文明5 意外退出 编辑:程序博客网 时间:2024/05/22 12:00
经理要我实现如题的功能,我费了九牛二虎之力,终于弄出个样子来。感觉收获颇非,这里用到了AJAXPRO得到数据库中的数据,然后在客户端写入WORD,贴出来,给用得到的朋友借鉴一下:
<%...@ Page Language="C#" AutoEventWireup="true" CodeFile="JSWriteWord.aspx.cs" Inherits="JSWriteWord" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript" >...
function WriteWord()
...{
var oWord = new ActiveXObject("Word.Application"); //建立Word对象
var oDoc = oWord.Documents.Add(); //建立文档对像.
oWord.Application.Visible = false; //Word可视
var oinsert = oWord.Selection; //建立插入点对像
oinsert.Font.color = 12345645;
oinsert.Font.Bold = 1;
var title = "天景隆软件有限公司";
oinsert.TypeText(title); //写入标题
setFormat(oinsert,title,22,1); //设置标题字体大小和是否居中
oinsert.Font.Bold = 1;
oinsert.TypeParagraph(); // 换行
oinsert.TypeParagraph();
var author ="作者:曾俊";
oinsert.TypeText(author);
setFormat(oinsert,author,12,3);
oinsert.TypeParagraph();
var toDay = new Date();
var thisDay ="日期:" + toDay.getFullYear() + "年"+ (toDay.getMonth() + 1) + "月" + toDay.getDate() + "日";
oinsert.TypeText(thisDay);
setFormat(oinsert,thisDay,12,3);
oinsert.TypeParagraph();
oinsert.TypeParagraph();
oinsert.TypeParagraph();
oinsert.Font.color = -16777216;
createTable(oDoc,oinsert,"产品表"); //写入表格
writebody("",oinsert,16,3,999999);
oinsert.TypeParagraph();
writebody("Google投身慈善事业 2600万美元用于捐赠投 ",oinsert,16,3,"黑体",9804560);
oinsert.TypeParagraph();
writebody(" Google.org开展慈善活动的多种方式使其可以通过投资获得一定的回报,正如其在eSolar公司的投资一样。",oinsert,12,3,"宋体",1);
oinsert.TypeParagraph();
oinsert.TypeParagraph();
oinsert.TypeParagraph();
writebody("乔布斯:Google开发Android平台没什么好 ",oinsert,16,3,"黑体",9804560);
oinsert.TypeParagraph();
writebody(" 丁磊,网易CEO、曾经的中国首富,昨天以广东省第十一届人大代表的身份出现。尽管他悄悄出现在会场外,仍然遭到了媒体的围追堵截。“我是个新代表,但我还是愿意聊聊我关心的话题”,昨天中午,丁磊终于答应接受本报 ",oinsert,12,3,"宋体",1);
//writebody("END",oinsert,12,1);
save(oDoc,oWord);
}
function createTable(wordDocument,oinsert,tableName)
...{
writebody(tableName,oinsert,18,3,"黑体",123457);
oinsert.Font.Name = "宋体";//设置字体为宋体
oinsert.Font.Size = 12;
oinsert.Font.color = 6454984;
oinsert.ParagraphFormat.Alignment =1; //设置对齐方式
var ds = JSWriteWord.getList().value; //调用Ajax方法,取得数据表中的值
var rownum=ds.Tables[0].Rows.length;//获取行数
var cellnum = ds.Tables[0].Columns.length;
wordDocument.Tables.Add(oinsert.Range,rownum,cellnum);//新建表格,行数为talbe的行数,列数取最大的列数
fillTable(ds,oinsert.Tables(oinsert.Tables.Count),oinsert);
}
//根据ds的内容写入WORD
function fillTable(ds,wordTable,oinsert)
...{
var lastrows=0;
var rownum = ds.Tables[0].Rows.length;
for( i = 0 ;i < rownum;i ++)
...{
var rowcolumn = ds.Tables[0].Rows[i];
var colNO = 1;
var rows=0;
for(var a in rowcolumn)
...{
oinsert.Font.Name = "宋体";//设置字体为宋体
oinsert.Font.Size = 12;
oinsert.Font.color = 6454984;
oinsert.ParagraphFormat.Alignment =1; //设置对齐方式
//alert( rowcolumn[a]+"");
oinsert.TypeText(rowcolumn[a]+""); //写入内容
oinsert.MoveRight(1,1);
colNO ++;
}
}
}
/**//*****************文本,插入点对像,字体大小,对齐方式,字体,颜色*******/
function writebody(text,oinsert,fontSize,align,fontName,ocolor)
...{
oinsert.TypeText(text);
oinsert.MoveLeft(1,text.length,1); //选中文字
oinsert.Font.Name = fontName; //设置字体为宋体
oinsert.Font.Size = fontSize; //设置字符大小
oinsert.Font.color = ocolor;
oinsert.MoveRight(1,1); //右移一个字符,其实就是取消选定
oinsert.ParagraphFormat.Alignment= align; //居中对齐 1为居中,2为右对齐,3为左对齐
}
function save(doc,oWord)
...{
var filename;
var da = new Date();
filename = ""+da.getFullYear() + da.getMonth() + da.getDay() + da.getHours() + da.getSeconds() + da.getMinutes() + "";
doc.SaveAs("F:/"+filename+".doc");
oWord.Quit();
var lblmsg = document.getElementById("lblMessage");
}
function setFormat(oinsert,text,fontSize,align)...{
oinsert.MoveLeft(1,text.length,1); //选中文字
oinsert.Font.Name = "宋体"; //设置字体为宋体
oinsert.Font.Size = fontSize; //设置字符大小
oinsert.MoveRight(1,1); //右移一个字符,其实就是取消选定
oinsert.ParagraphFormat.Alignment= align; //居中对齐 1为居中,2为右对齐,3为左对齐
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="CreateWord" type="button" value="生成Word文档" onclick="CreateWordDoc()" />
<label id = "lblMessage" runat = "server" style="font-size:large; color:Red"></label>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
</body>
<script language="javascript" type ="text/javascript">...
function CreateWordDoc()
...{
WriteWord();
var lblmsg = document.getElementById("lblMessage");
lblmsg.innerText = "生成成功";
}
</script>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript" >...
function WriteWord()
...{
var oWord = new ActiveXObject("Word.Application"); //建立Word对象
var oDoc = oWord.Documents.Add(); //建立文档对像.
oWord.Application.Visible = false; //Word可视
var oinsert = oWord.Selection; //建立插入点对像
oinsert.Font.color = 12345645;
oinsert.Font.Bold = 1;
var title = "天景隆软件有限公司";
oinsert.TypeText(title); //写入标题
setFormat(oinsert,title,22,1); //设置标题字体大小和是否居中
oinsert.Font.Bold = 1;
oinsert.TypeParagraph(); // 换行
oinsert.TypeParagraph();
var author ="作者:曾俊";
oinsert.TypeText(author);
setFormat(oinsert,author,12,3);
oinsert.TypeParagraph();
var toDay = new Date();
var thisDay ="日期:" + toDay.getFullYear() + "年"+ (toDay.getMonth() + 1) + "月" + toDay.getDate() + "日";
oinsert.TypeText(thisDay);
setFormat(oinsert,thisDay,12,3);
oinsert.TypeParagraph();
oinsert.TypeParagraph();
oinsert.TypeParagraph();
oinsert.Font.color = -16777216;
createTable(oDoc,oinsert,"产品表"); //写入表格
writebody("",oinsert,16,3,999999);
oinsert.TypeParagraph();
writebody("Google投身慈善事业 2600万美元用于捐赠投 ",oinsert,16,3,"黑体",9804560);
oinsert.TypeParagraph();
writebody(" Google.org开展慈善活动的多种方式使其可以通过投资获得一定的回报,正如其在eSolar公司的投资一样。",oinsert,12,3,"宋体",1);
oinsert.TypeParagraph();
oinsert.TypeParagraph();
oinsert.TypeParagraph();
writebody("乔布斯:Google开发Android平台没什么好 ",oinsert,16,3,"黑体",9804560);
oinsert.TypeParagraph();
writebody(" 丁磊,网易CEO、曾经的中国首富,昨天以广东省第十一届人大代表的身份出现。尽管他悄悄出现在会场外,仍然遭到了媒体的围追堵截。“我是个新代表,但我还是愿意聊聊我关心的话题”,昨天中午,丁磊终于答应接受本报 ",oinsert,12,3,"宋体",1);
//writebody("END",oinsert,12,1);
save(oDoc,oWord);
}
function createTable(wordDocument,oinsert,tableName)
...{
writebody(tableName,oinsert,18,3,"黑体",123457);
oinsert.Font.Name = "宋体";//设置字体为宋体
oinsert.Font.Size = 12;
oinsert.Font.color = 6454984;
oinsert.ParagraphFormat.Alignment =1; //设置对齐方式
var ds = JSWriteWord.getList().value; //调用Ajax方法,取得数据表中的值
var rownum=ds.Tables[0].Rows.length;//获取行数
var cellnum = ds.Tables[0].Columns.length;
wordDocument.Tables.Add(oinsert.Range,rownum,cellnum);//新建表格,行数为talbe的行数,列数取最大的列数
fillTable(ds,oinsert.Tables(oinsert.Tables.Count),oinsert);
}
//根据ds的内容写入WORD
function fillTable(ds,wordTable,oinsert)
...{
var lastrows=0;
var rownum = ds.Tables[0].Rows.length;
for( i = 0 ;i < rownum;i ++)
...{
var rowcolumn = ds.Tables[0].Rows[i];
var colNO = 1;
var rows=0;
for(var a in rowcolumn)
...{
oinsert.Font.Name = "宋体";//设置字体为宋体
oinsert.Font.Size = 12;
oinsert.Font.color = 6454984;
oinsert.ParagraphFormat.Alignment =1; //设置对齐方式
//alert( rowcolumn[a]+"");
oinsert.TypeText(rowcolumn[a]+""); //写入内容
oinsert.MoveRight(1,1);
colNO ++;
}
}
}
/**//*****************文本,插入点对像,字体大小,对齐方式,字体,颜色*******/
function writebody(text,oinsert,fontSize,align,fontName,ocolor)
...{
oinsert.TypeText(text);
oinsert.MoveLeft(1,text.length,1); //选中文字
oinsert.Font.Name = fontName; //设置字体为宋体
oinsert.Font.Size = fontSize; //设置字符大小
oinsert.Font.color = ocolor;
oinsert.MoveRight(1,1); //右移一个字符,其实就是取消选定
oinsert.ParagraphFormat.Alignment= align; //居中对齐 1为居中,2为右对齐,3为左对齐
}
function save(doc,oWord)
...{
var filename;
var da = new Date();
filename = ""+da.getFullYear() + da.getMonth() + da.getDay() + da.getHours() + da.getSeconds() + da.getMinutes() + "";
doc.SaveAs("F:/"+filename+".doc");
oWord.Quit();
var lblmsg = document.getElementById("lblMessage");
}
function setFormat(oinsert,text,fontSize,align)...{
oinsert.MoveLeft(1,text.length,1); //选中文字
oinsert.Font.Name = "宋体"; //设置字体为宋体
oinsert.Font.Size = fontSize; //设置字符大小
oinsert.MoveRight(1,1); //右移一个字符,其实就是取消选定
oinsert.ParagraphFormat.Alignment= align; //居中对齐 1为居中,2为右对齐,3为左对齐
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="CreateWord" type="button" value="生成Word文档" onclick="CreateWordDoc()" />
<label id = "lblMessage" runat = "server" style="font-size:large; color:Red"></label>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
</body>
<script language="javascript" type ="text/javascript">...
function CreateWordDoc()
...{
WriteWord();
var lblmsg = document.getElementById("lblMessage");
lblmsg.innerText = "生成成功";
}
</script>
</html>
- Javascript 将数据库中的数据写入WORD文档的表格中
- 读取word文档中的表格数据到access数据库
- Java将数据写入word文档(.doc)
- 读取word文档中表格数据到sqlserver数据库
- 用C#实现动态生成Word文档,在Word文档中插入表格,并将读出的数据填入到表格中
- 如何把数据库的内容写入到Word文档中
- 如何把数据库的内容写入到Word文档中?
- 使用javascript解析xxx.xml文档将数据加载到xxx.html文档中的表格元素中
- [C#]用C#动态生成Word文档并将数据填入Word表格中
- [C#]用C#动态生成Word文档并将数据填入Word表格中(续)
- 用C#动态生成Word文档并将数据填入Word表格中
- [C#]用C#动态生成Word文档并将数据填入Word表格中
- 用C#动态生成Word文档并将数据填入Word表格中
- 用C#动态生成Word文档并将数据填入Word表格中
- C#将数据库内容写入Word中
- Android 将数据写入到word中
- .net 将数据库中的数据导出到Excel表格中
- 用C#把数据库中的记录按格式写入Word文档中。
- 页面转向代码
- 注册hotmail.co .jp后缀的hotmail邮箱
- .NET 2.0 - WinForm Control - DataGridView 编程36计(一)
- 快捷键与热键有何异同?
- 删除浏览器缓存
- Javascript 将数据库中的数据写入WORD文档的表格中
- 30条优化措施准则
- 移植UCOS-II到ARM7TDMI
- 按Ctrl键会引发几次按键消息
- 委托示例(利用委托对不同类型的对象数组排序)
- DOM的使用心得
- PHP 超全局变量详解
- 动态生成水晶报表
- SetCapture可能影响快捷键