cdd006
作者cdd006·2014-01-27 10:07
软件开发工程师·中国江苏

如何把查询结果导出到Excel中

字数 3239阅读 1096评论 0赞 0
'coltitlenamevalue 标题名,  colvaluename  从数据库里取的字段名,dc 查询出的记录集
Function exportexcel(coltitlenamevalue() As String,colvaluename() As String  ,dc As NotesDocumentCollection)
 Dim filedvalue As NotesItem
 Dim searchdoc As NotesDocument
 Print|
  正在生成Excel表格.....   
 <script language = javascript>
  fso = new ActiveXObject("Scripting.FileSystemObject");
  fldr="C:\HighComTemp";
  if (fso.FolderExists(fldr))
  {     
   if (fso.FolderExists("C:\HighComTemp\OA")==false)
   {
   fso.CreateFolder("C:\HighComTemp\OA");
   }
  }
  else
  {
      fso.CreateFolder("C:\HighComTemp");
  fso.CreateFolder("C:\HighComTemp\OA");
  }
 try  {
      tf = fso.CreateTextFile("C:\HighComTemp\OA\打印预览.xls", false);
      tf.close();
 }
 catch(e) {
          //alert("文档已经打开,请关闭Excel文档,重新点击打印。");
     } 
 try{
  var excelApplication = new ActiveXObject("Excel.Application");
  excelApplication.Visible = true; 
      excelApplication.Workbooks.Open ("C:\HighComTemp\OA\打印预览.xls");
 }
 catch(e)
 {
  alert("打开Excel文件出错!");
 }
 |
 '创建列Title
 colcode = 65
 For i=1 To Ubound(coltitlenamevalue)
  Print|
 try{
   rowcode = 2;
   columnname = String.fromCharCode(|colcode|)+rowcode.toString();//产生列代码名 例如:A1
   excelApplication.Range(columnname).Select;
   excelApplication.ActiveCell.FormulaR1C1 ="|+coltitlenamevalue(i)+|";
  }
 catch(e)
 { }
 | 
  colcode = colcode +1
 Next
'传值
 rowcode = 3
 For i=1 To dc.Count
  colcode= 65
  Set searchdoc=dc.GetNthDocument(i)
  For j = 1 To Ubound(coltitlenamevalue)
   Set filedvalue = searchdoc.GetFirstItem(colvaluename(j))
   If filedvalue.Type = 1 Then
    'colvalue = "aaaaaaaaaaaaaaaa"
    colvalue = filedvalue.text
    'colvalue = Evaluate("@ReplaceSubstring('"+colvalue+"';'n';'###')")
    colvalue=Evaluate("@ReplaceSubstring('"+colvalue+"';'"+Chr(10)+"';' ')")
    covrtf=colvalue
    colvalue=covrtf(0)
   Else
    colvalue = Cstr(filedvalue.text)
   End If
   Print |
  try{
    rc =|rowcode|;
   columnname = String.fromCharCode(|colcode|)+rc.toString();//产生列代码名 例如:A1
   excelApplication.Range(columnname).Select
   excelApplication.ActiveCell.FormulaR1C1 = "|+colvalue+|"  
  }
  catch(e)
  {}
   |
   colcode = colcode+1
  Next
  rowcode = rowcode+1
 Next
 
 Print|
  history.go(-1);
</script>|
End Function

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广