怎样把表单的所有域值导入到EXCEL中进行打印?

coolphilips 2003-10-18 03:40:00
怎样把表单的所有域值导入到EXCEL中进行打印!是B/S机构的啊
我的思路是在表单上做个按钮
但是里面代码怎么写 我实在是不知道啊
请各位大侠 给点例子参考一下!!非常感谢
...全文
64 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
gjd111686 2003-10-22
  • 打赏
  • 举报
回复
设置表单:所有HTML
就用你的JS代码:
for(iIndex=0;iIndex<document.all.length;iIndex++)
{
var FieldValue=eval(document.all(i).tagName.value);
}
即已经取到所有域值:赋值可以参考ExcelVBA的帮助.
guitarrock945 2003-10-22
  • 打赏
  • 举报
回复
up
coolphilips 2003-10-22
  • 打赏
  • 举报
回复
我想知道在b/s结构下最好的方法是什么啊 是用控件 还是用js 有人可以提供一下吗
guyue216 2003-10-22
  • 打赏
  • 举报
回复
to rombus(阿宇)
你这样好像只能在服务器上生成呀
coolphilips 2003-10-19
  • 打赏
  • 举报
回复
晕啊 怎么没有大哥来帮忙啊 从表单导数据到excel和从视图中有什么不同吗??
coolphilips 2003-10-19
  • 打赏
  • 举报
回复
怎么用透视表格啊!!大家帮忙啊
coolphilips 2003-10-19
  • 打赏
  • 举报
回复
大家帮帮忙啊 !!
coolphilips 2003-10-19
  • 打赏
  • 举报
回复
好象代码掉了东西啊
coolphilips 2003-10-19
  • 打赏
  • 举报
回复
谢谢 我试一下
rombus 2003-10-19
  • 打赏
  • 举报
回复
生成Excel表的代理:
Sub Initialize
'定义notes对象
Dim session As New notessession
Dim db As notesdatabase
Dim view As notesview
Dim SelectDoc As notesdocument
Dim doc As notesdocument
Dim item As NotesItem
Dim DeleteItem As NotesItem
Dim DocToSelect As NotesDocument
Dim unid As String
Dim wait_body
Dim i,num,j As Integer
i=2
j=0
'取选定记录的数据
Set db = session.CurrentDatabase
Set DocToSelect = session.DocumentContext
Set item = DocToSelect.GetFirstItem("Delete"
If (item.text<>"" Then '判断是否选择了文档
'定义excel对象及创建对象
Dim xlApp As Variant
Dim xlsheet As Variant
Set xlApp = CreateObject("Excel.Application"
xlApp.StatusBar = "正在制作报表,请等待......"
xlApp.Visible = True
xlApp.Workbooks.Add
xlApp.ReferenceStyle = 2
Set xlsheet = xlApp.Workbooks(1).Worksheets(1)
xlsheet.Name = "电子名片报表"
xlApp.StatusBar = "正在制作表头,请等待..."
xlsheet.cells(1,1).value="姓名"
xlsheet.cells(1,2).value="单位"
xlsheet.cells(1,3).value="手机"
xlsheet.cells(1,4).value="电话(一)"
xlsheet.cells(1,5).value="电话(二)"
xlsheet.cells(1,6).value="电话(三)"
xlsheet.cells(1,7).value="本公司联系人"
xlsheet.cells(1,8).value="是否发送季刊"
xlsheet.cells(1,9).value="是否节日问候"
xlapp.range(xlsheet.cells(1,1),xlsheet.cells(1,9)).select
xlapp.selection.HorizontalAlignment = 3
'给表格赋值
Forall v In item.Values
unid = v
Set doc = db.GetDocumentByUNID(unid)
xlsheet.cells(i,1).value=doc.dzmp_xm(0)
xlsheet.cells(i,2).value=doc.dzmp_dw(0)
xlsheet.cells(i,3).value=doc.dzmp_sj(0)
xlsheet.cells(i,4).value=doc.dzmp_dh(0)
xlsheet.cells(i,5).value=doc.dzmp_dh1(0)
xlsheet.cells(i,6).value=doc.dzmp_dh2(0)
xlsheet.cells(i,7).value=doc.dzmp_lxr(0)
xlsheet.cells(i,8).value=doc.dzmp_sfssjk(0)
xlsheet.cells(i,9).value=doc.dzmp_sfjrwh(0)
i=i+1
j=j+1
End Forall
'格式化报表
xlapp.range(xlsheet.cells(1,1),xlsheet.cells(j+1,15)).select
xlapp.selection.font.name="Arial"
xlapp.selection.font.size=9
xlapp.selection.columns.autofit
xlApp.StatusBar = "报表制作完成!"
Print "<BODY background=rightbg2.gif>"
Print "<br>"
Print "<center>你已成功打印了" & j "个文档!<br>"
Print "<hr><br>"
Print DocToselect.view(0)
Print "<font size=4><a href="+"/"+DocToselect.path(0) +"/ElectronCard.nsf/"+DocToselect.docname(0)+"?OpenForm"+"> " +"确定" + "</a>"
Print "</center>"
Else
Print "<BODY background=rightbg2.gif>"
Print "<br>"
Print "<center>你没有选择打印文档,请选择后再打印!<br>"
Print "<hr><br>"
Print "<font size=4><a href="+"/"+DocToselect.path(0) +"/ElectronCard.nsf/"+DocToselect.docname(0)+"?OpenForm"+"> " +"确定" + "</a>"
Print "</center>"
'Exit Sub
End If
End Sub
gjd111686 2003-10-18
  • 打赏
  • 举报
回复
你可以直接用Excel本身的透视表格就可以
coolphilips 2003-10-18
  • 打赏
  • 举报
回复
非要控件吗 没有别的办法了??
晕啊!楼上的大哥可以给我发一个来吗
huyiqi 2003-10-18
  • 打赏
  • 举报
回复
通过控件能够实现,以前写过一个程序
coolphilips 2003-10-18
  • 打赏
  • 举报
回复
上面那段js可以打开表,但是不能导入数据啊!!还是空表啊
怎么导入数据啊!!谢谢高手赐教!!
coolphilips 2003-10-18
  • 打赏
  • 举报
回复
我抄了一段js大家看看要改什么地方吗 有没有用别的办法的啊
谢谢

var oXL = new ActiveXObject("Excel.Application");
oXL.Visible = true;
var oWB = oXL.Workbooks.open("c:\\aaaa.xls");
var oSheet = oWB.ActiveSheet;

var iBeginNum = ( document.all.PageNum.value - 1 ) * document.all.PageRecorderCount.value ; //( 页码 - 1 ) * 每页显示的纪录数

var Table = document.all.tb;

var ini = 1 ;

if ( document.all.PageNum.value == "1" )
ini = 0 ;

for(i= ini ;i<Table.rows.length;i++)
{
for(j=0;j< Table.rows[i].cells.length;j++)
{
oSheet.Cells(i+ iBeginNum + 1,j+1).Value = Table.rows[i].cells[j].innerText;
}
}

oWB.save();
oWB.close();
oXL.quit();

535

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧