domino导出excel方法
Domino开发平台使用——表单制作
Domino开发平台使用总结一、表格控件使用说明:1、表格控件的使用:先将红色计算的值拷贝到顶部,然后将js_header 中拷贝function C_OnSubmit(){Controls();} 再将表格隐藏域内全部拷贝,就需要在隐藏域内部对表格做编辑修改,修改好之后将黑色的计算的值拷贝到我们需要调用表格的地方。
2、表格控件的编辑:在控件内可以任意插入删除行列,第一行为表头,第二行为表需要显示的主题数据区域,第3行为合计行(可以删除),第二行的内容可以在浏览界面中以该行为模板增加表格行。
第二行的编辑,主要需要拖入相应的字段控件,可以包括单行多行、数字、选择等,他们的命名为CF_名称1;第三行为合计内容,需要对合计的列名命名为CF_名称1_Sum;做好这些后还需要对每个字段添加一个多行文本区域,用于存储表格添加多条记录的情况,命名为:字段名_All,注意一定要是多行文本,如果原字段为数值的此多行文本也应为数值,否则默认值将不会显示。
3、表格控件的调整:两种情况:1是调整为固定宽度,可以通过直接调整选择单元格的表格属性中的宽度,注意由于拷贝的字段本身有宽度,所以应当先将字段的域属性(html的样式)设置为:width:100%表示字段显示与单元格宽度相等,然后根据需要调整表格宽度。
同时对于表格属性中的表格右边距设置为相对100%,文本属性的右页边距设置为相对100%,表格的样式设置为:width:100%;align="center",注意表格属性的单元格html标记中的其他一栏一定要写上nowrap,否则调整的边距很多将不会生效;及表格的前后均应留下一空列,用于调整自动增加的序号和添加列的宽度,否则将会和表的第一列和最后一列的宽度相同。
2是按比例调整,这往往在实际中比较多,因为这样就不论什么浏览器和分辨率的变化都不会影响表格的显示,表格都按比例显示。
方法是右击表格模板—选择—整个表格,再右击选中区域—表格属性,在表格宽度一栏选择按窗体大小调整,然后对每一单元格的(html的)样式中进行width属性设置,根据具体的栏数选择需要的比例,全部之和为100%即可,左右空栏2%即可,其他注意和1一致。
当好一个优秀的Domino程序员的经验之谈
当好一个优秀的Domino程序员的经验之谈-转自CSDN-作者:webmailer (亓峰)我做了将近5年的Lotus/Java开发了。
从程序员做到项目经理,再到技术总监。
我发现程序员有几个通病:一、太专心新的技术的学习,希望突飞猛进,变成高手。
二、懂开发,不懂管理;懂得写代码,不懂设计原理;懂得编程语言,不懂怎样归纳总结和知识的网络化。
三、浮躁;固执;容易骄傲;四、总是说:“请给我一段代码看看”,不知道自己去试一试,去想办法。
五、总是问“怎么办呀?”;不是问“我这样那样做了,问题可能出在哪里哪里,到底是怎么回事?”六、“啊???!!!原来帮助里有呀!”其实对任何一种技术而言,“管理和规划;开发和扩展;活用和借鉴”是最重要的三个方面。
《《《管理和规划》》》》一个技术的学习不是直接就学习怎么开发,怎么编程。
要先从了解它的架构和原理。
有人会问为什么?道理很简单,“知己知彼,百战不殆”呗。
你不了解他是什么,直接就杀过去,中途你停下来好好想想,你到底在干什么?一头雾水是不是?这个帖子在Lotus论坛里,那我问一下,到底有多少人能够将Domino的体系架构画出来,就是domino到底有几个部分,有哪些功能,扩展接口等等。
一个系统的管理和规划有时候比编程重要。
许多人在问“Domino,B/S如何现实在线用户?”,这个问题有简单但不是很精确的解决方法,也有复杂但是精确的解决方法。
前者用服务器配置加上编程就可以实现,后者用C API实现,自己编写DSAPI。
有人经常问我“如何在邮件发送以后对邮件收件人进行过滤?”。
这个问题用LS是不能实现的。
原因就在于Domino的发信机制:Domino的router/SMTP检测到邮件发送任务以后,会将邮件暂存在mail.box(mail1.box,mail2.box,看服务器配置)。
如果邮件属于本地网络域(Notes网络域),邮件直接被分发到用户邮件数据库;否则将通过SMTP外发到internet。
.net导出excel的四种方法及评测
一、概述在日常工作和生活中,我们经常会遇到需要导出Excel表格的情况,无论是数据分析报告、财务报表还是客户清单,Excel都是非常常见的工具。
而对于使用.net框架的开发人员来说,如何在程序中实现Excel 导出也是一个常见的需求。
本文将介绍四种常见的.net导出Excel的方法,并对它们进行评测,以便开发人员在实际项目中选择最合适的方案。
二、利用Microsoft.Office.Interop.Excel进行导出1. 使用COM组件操作ExcelMicrosoft.Office.Interop.Excel是.NET对Excel COM组件的封装,开发人员可以通过这个组件来操作Excel。
通过这种方法,可以实现对Excel表格的创建、读取、修改和导出。
2. 优点a. 功能丰富:可以实现对Excel表格的各种操作,包括格式设置、数据写入等。
b. 灵活性高:可以实现对Excel表格的各种定制操作,满足不同需求。
3. 缺点a. 依赖性强:需要安装Office软件,才能在服务器上执行。
b. 性能低:由于是通过COM组件进行操作,性能相对较低,特别是在大数据量的情况下。
三、利用NPOI库进行导出1. 使用NPOI库NPOI是一个.NET操作Office文件的开源库,支持对Excel、Word、PowerPoint的读写操作。
通过NPOI库,开发人员可以对Excel表格进行创建、读取、修改和导出。
2. 优点a. 轻量级:NPOI库较轻量,不需要依赖Office软件。
b. 跨评台性:NPOI库可以在Windows、Linux和MacOS等操作系统上使用。
3. 缺点a. API复杂:相对于Microsoft.Office.Interop.Excel,NPOI库的API设计相对复杂。
b. 功能相对局限:相对于Microsoft.Office.Interop.Excel,NPOI库的功能相对局限一些。
四、利用EPPlus库进行导出1. 使用EPPlus库EPPlus是一个用于操作Excel文件的开源库,可以在.NET环境下实现对Excel表格的创建、读取、修改和导出。
导出EXCEL的两个方法
导出EXCEL的两个⽅法⽅法⼀:/*** 导出参数模板设置,通过相似查找出来的数据*/private void handleExportToExcelByLikeQuery(Page page, HttpServletResponse response) {try {List<ExworkRecordExportVo> list = new ArrayList<>();List<ExworksRecord> exworksRecordList = page.getList();if (exworksRecordList != null) {for (ExworksRecord e : exworksRecordList) {ExworkRecordExportVo v = new ExworkRecordExportVo();v.setOrderNo(e.getOrderNo());v.setApplierNo(e.getApplierNo());v.setApplierName(e.getApplierName());v.setLeaderNo(e.getLeaderNo());v.setLeaderName(e.getLeaderName());v.setpInTime(e.getpInTime());v.setpOutTime(e.getpOutTime());switch (e.getStatus()) {case "1":v.setStatus("审核中");break;case "2":v.setStatus("已通过");break;case "3":v.setStatus("驳回");break;case "4":v.setStatus("废弃");break;default:v.setStatus("");break;}v.setRemark(e.getRemark());v.setFinishStatus("1".equals(e.getFinishStatus())?"未完成":"完成");v.setCreateTime(e.getCreateTime());list.add(v);}}ExportParams params = new ExportParams("申请列表", "申请列表", ExcelType.HSSF);Workbook workbook = ExcelExportUtil.exportExcel(params, ExworkRecordExportVo.class, list);SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode("申请列表--" + dateFormat.format(new Date()) + "" + ".xls", "UTF-8"));// 组装附件名称和格式 ServletOutputStream out = response.getOutputStream();workbook.write(out);out.flush();out.close();} catch (IOException e) {e.printStackTrace();}}主要⽤的三个jar包import org.jeecgframework.poi.excel.ExcelExportUtil;import org.jeecgframework.poi.excel.entity.ExportParams;import org.jeecgframework.poi.excel.entity.enmus.ExcelType;ExcelExportUtil.exportExcel(params, ExworkRecordExportVo.class, list);主要参数: 1:ExportParams 、2:实体类 ExworkRecordExportVo 3:实体类对应的list在封装⼀下excel的名字和其他参数即可⽅法⼆:public void exportConferenceEnrolChangeList(@RequestParam(required = true, value = "enrolId") Integer enrolId,@RequestParam(required = true, value = "accessToken") String accessToken, HttpServletResponse response) throws IOException {("*****调⽤ ConferenceEnrolChangeController 类 - exportConferenceEnrolChangeList ⽅法,参数:enrolId:" + enrolId + ", accessToken:" + accessToken);Assert.assertNotEmpty(accessToken, "accessToken");Assert.assertIntNotEmpty(enrolId, "enrolId");response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode("报名名单配置变更记录.xls", "UTF-8"));// 第⼀步,创建⼀个webbook,对应⼀个Excel⽂件HSSFWorkbook wb = new HSSFWorkbook();// 第⼆步,在webbook中添加⼀个sheet,对应Excel⽂件中的sheetHSSFSheet sheet = wb.createSheet("变更记录");// 第三步,在sheet中添加表头第0⾏,注意⽼版本poi对Excel的⾏数列数有限制shortHSSFRow row = sheet.createRow((int) 0);// 第四步,创建单元格,并设置值表头设置表头居中HSSFCellStyle style = wb.createCellStyle();style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建⼀个居中格式HSSFCell cell = row.createCell((short) 0);cell.setCellValue("操作⼈");cell.setCellStyle(style);cell = row.createCell((short) 1);cell.setCellValue("mip");cell.setCellStyle(style);cell = row.createCell((short) 2);cell.setCellValue("单位");cell.setCellStyle(style);cell = row.createCell((short) 3);cell.setCellValue("部门");cell.setCellStyle(style);cell = row.createCell((short) 4);cell.setCellValue("变更操作");cell.setCellStyle(style);cell = row.createCell((short) 5);cell.setCellValue("变更内容");cell.setCellStyle(style);cell = row.createCell((short) 6);cell.setCellValue("变更原因");cell.setCellStyle(style);// 第五步,写⼊实体数据 service查询数据库得到的listList<ConferenceEnrolChangeRecord> list = conferenceEnrolChangeService.getConferenceEnrolChangeListForExport(enrolId); for (int i = 0; i < list.size(); i++) {row = sheet.createRow(i + 1);ConferenceEnrolChangeRecord record = list.get(i);// 第六步,创建单元格,并设置值row.createCell((short) 0).setCellValue(record.getOperationName());row.createCell((short) 1).setCellValue(record.getMipNo());row.createCell((short) 2).setCellValue(record.getCompany());row.createCell((short) 3).setCellValue(record.getDepartment());row.createCell((short) 4).setCellValue(record.getChangeOperation());row.createCell((short) 5).setCellValue(record.getChangeContent());row.createCell((short) 6).setCellValue(record.getChangeReason());}try {ServletOutputStream out = response.getOutputStream();wb.write(out);out.flush();out.close();} catch (Exception e) {e.printStackTrace();}}是⼀个接接⼝调⽤⽅法,创建步骤很明确,⼀步⼀步操作即可;。
导出excel方法
导出excel方法导出Excel是一种非常常见的操作,它允许我们将数据以电子表格的形式保存,并可以进行进一步的处理和分析。
在这里,我将为您介绍三种常见的导出Excel 的方法。
方法一:使用开源库(如pandas)进行导出pandas是一个强大的数据分析库,可以用于处理和分析结构化数据。
它提供了一个非常方便的方法来导出数据到Excel文件。
下面是一个使用pandas库导出数据到Excel的示例代码:import pandas as pd# 创建一个数据集data = {'姓名': ['张三', '李四', '王五'],'年龄': [25, 30, 35],'性别': ['男', '女', '男']}df = pd.DataFrame(data)# 导出数据到Exceldf.to_excel('data.xlsx', index=False)在这个例子中,我们首先创建了一个包含姓名、年龄和性别的数据集。
然后,我们使用`to_excel()`方法将数据集导出到一个名为"data.xlsx"的Excel文件中。
参数`index=False`用于防止生成的Excel文件中包含索引列。
方法二:使用Python自带的csv模块进行导出Python自带了一个csv模块,可以用于操作逗号分隔值(CSV)格式的数据。
尽管CSV是一种常见的数据存储格式,但它也可以很容易地导出为Excel文件。
下面是一个使用csv模块导出数据到Excel的示例代码:import csv# 创建一个数据集data = [['姓名', '年龄', '性别'],['张三', 25, '男'],['李四', 30, '女'],['王五', 35, '男']]# 导出数据到Excelwith open('data.csv', 'w', newline='') as file:writer = csv.writer(file)writer.writerows(data)在这个例子中,我们首先创建了一个包含姓名、年龄和性别的数据集。
DOMINO常见问题
DOMINO常见问题常见问题((FAQ)来源:互联网整理: 2007-10-26 [John]Q:如何用浏览器访问基于NT的Domino服务器呢? 因为NT上的缺省主页是MICROSOFT的,我不知如何改为为Domino的.A:NT Server缺省使用MICROSOFT主页是由于启动了NT自带的IIS服务,有以下三种解决方法:1。
关闭NT本身的IIS服务,使Domino Server的http服务器能够使用80端口。
2。
修改Domino上http任务的端口为80以外都某一个值,然后从Domino Server 输入Load http命令以启动http任务。
当从浏览器访问Domino数据库时,在URL地址后加端口号,如:81/3。
把Domino Server与IIS集成,使IIS能够访问Domino数据库,然后在IIS中设置缺省主页为Notes 数据库。
Q:Notes可以在iMAC上运行吗指的不是iMAC的PC界面下。
是通过APPLE TALK互连吗?A:Notes Client有Mac的版本,但Domino Server就不能跑在Mac上了,另外Notes支持Apple talk网络协议。
Q:怎么把domino设置SMTP服务器如何把domino设置成一个用来发信的smtp服务器(可以不收信). 按照缺省设置,发信的时候总是说地址当中包含非ASCII字符.A:非ASCII字符通常是由于中文用户名造成的。
设置Domino Server为SMTP Server,都需要在服务器文档中设置:路由任务:邮件路由、SMTP路由全限定的Internet主机名:主机名+Internet域名(用。
连接)SMTP监听任务:启用如4.6前版本须另外安装SMTP MTA,R4.6x把SMTP MTA 集成到Domino Server中,R5以后Domino 坝SMTP做成了服务器上的一个任务,不需要另外安装MTA。
数据导出-Domino浏览器端(网页端)数据导出实现
数据导出-Domino浏览器端(网页端)数据导出实现简介:本文介绍了两种导出domino数据的实现方法,一种使用代理,一种使用XPage。
一、使用代理导出数据导出代理使用LotusScript实现,基本原理涉及输出信息到网页,设置网页内容类型:1、print()方法可输出信息到网页2、设置输出HTML页面类型 为附件 “Content-Disposition:Attachment;”参考代码:%REMSub exportDataBSDescription: 数据导出,参数为导出的数据%END REMSub exportDataBS(dataTable As String)Dim attSetting As StringDim htmlHeader As String'Generate HTML PageattSetting="Content-Disposition:Attachment; filename=" & Format(Now,"YYYYMM DDHHMM") & ".xls" & Chr$(13)htmlHeader=|<html><head><meta content="text/html; charset=GB2312" http-equiv="Content-Type"/>| & Chr$(13) & _|<style type="text/css">body {background-color:transparent;font-family: Arial;}table {font-size:12;border: 1px black solid;border-collapse:collapse;}th,td {border: 1px black solid;}</style>| & _|</head><body>|Print attSetting & htmlHeader & dataTable & |</body></html>|End Sub3、通过对请求页面可获取GET和POST类型参数值参考代码:Set context=s.DocumentcontextREQUEST_CONTENT=context.Getitemvalue("REQUEST_CONTENT")(0) 'POST参数 Query_String_Decoded=context.Getitemvalue("Query_String_Decoded")(0) 'URL参数 '<<<<<<Get dataIf REQUEST_CONTENT<>"" Then'Export selected documentids=Trim(StrToken(REQUEST_CONTENT,"ids=",2))If ids<>"" ThenaryIDs=Split(ids,".")ForAll Noteid In aryIDsSet request=db.Getdocumentbyid(Noteid)If Not request Is Nothing ThentbHTML=tbHTML & getDocInfoHTML(request)ElsetbHTML=tbHTML & "<tr><td>" & Noteid & "</td><td>" & "File not fo und" & "</td></tr>"End If ' get request doc objectEnd ForAll 'loop note idsEnd IfElseIf Query_String_Decoded<>"" Then'Export as conditiondtType=GetParameter("type",Query_String_Decoded)startDate =GetParameter("start",Query_String_Decoded)endDate = GetParameter("end",Query_String_Decoded)matType=GetParameter("matType",Query_String_Decoded)'导出处理代码...ElsePrint "未获取到导出参数!"GoTo endSubEnd If其他辅助函数:* 获取URL参数Function GetParameter(strParamName As String, strQuery As String) As StringDim i As IntegerDim s As StringDim v As VariantGetParameter = ""i = InStr(UCase(strQuery),"&" & UCase(strParamName) & "=")If i <> 0 Thens = StrRight(Mid(strQuery, i),"=")If InStr(s, "&") Thens = StrLeft(s, "&")End Ifv = Evaluate("@UrlDecode(""Domino""; """ & s & """)")GetParameter = CStr(v(0))End IfEnd Function* 特殊字符转换Function PCDATA(ByVal phrase$) As String%REM当需要输出HTML格式文本时,可使用此函数将输出字符中的特殊字符转换为&#unicode格式%END REMOn Error GoTo errorHandlerDim begin%, found%, oldPhrase$If phrase$="" Then GoTo endSuboldPhrase= phraseDim a As LongDim ch As Stringphrase$=""For a=1 To Len(oldphrase)ch=Mid$(oldphrase,a,1)If Uni(ch)=32 Or Uni(ch)>47 And Uni(ch)<58 Or _ '0-9Uni(ch)>64 And Uni(ch)<91 Or _ 'A-ZUni(ch)>96 And Uni(ch)<123 Then 'a-zphrase$=phrase$ & chElsephrase$=phrase$ & "&#" & Uni(ch) & ";"End IfNextPCDATA = phraseendSub:Exit FunctionerrorHandler:PCDATA = oldPhraseResume endSubEnd Function二、通过设置XPage返回信息来导出数据设置导出功能的XPage,需设置Xpage的"rendered"属性为false,并在XPage的“afterRenderResponse()”事件中编写导出数据代码,使用SSJS编写,可以导出特殊字符(不用做处理),基本要点是:* 设置输出页面类型var exCon:javax.faces.context.ExternalContext = facesContext.getExternalContext();var writer:javax.faces.context.ResponseWriter = facesContext.getResponseWriter();var response:javax.servlet.http.HttpServletResponse = exCon.getResponse();response.setContentType("application/vnd.ms-excel;charset=utf-8");response.setHeader("Cache-Control", "no-cache");response.setHeader("Content-Disposition","attachment; filename=\"export.xls\"");* 设置输出页面及样式writer.write("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/></head>"); writer.write("<body style=\"background-color:transparent;font-family: Arial\">");.....writer.write("</body></html>");writer.endDocument();* 实现代码参考(输出指定视图内容)function getSerialTimeNo():string{var nt:Date=@Now();var y=@Year(nt);var mon=@Month(nt);var d=@Day(nt);var h=@Hour(nt);var m=@Minute(nt);var s=@Second(nt);var day=y+(@Length(mon)==1?"0":"")+mon+(@Length(d)==1?"0":"")+d;var time=(@Length(h)==1?"0":"")+h+(@Length(m)==1?"0":"")+m+(@Length(s)==1?"0":"")+s;return day+time;}function export2Excel(){try {//javax.faces.context.FacesContextvar exCon:javax.faces.context.ExternalContext = facesContext.getExternalContext();var writer:javax.faces.context.ResponseWriter = facesContext.getResponseWriter();var response:javax.servlet.http.HttpServletResponse = exCon.getResponse();response.setContentType("application/vnd.ms-excel;charset=utf-8");response.setHeader("Cache-Control", "no-cache");response.setHeader("Content-Disposition","attachment; filename=\"export"+getSerialTimeNo()+".xls\"");writer.write("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/></hea d>");writer.write("<body style=\"background-color:transparent;font-family: Arial\">");try{//////////////////////////输出代码开始///////////////////////////////页面参数传递var condition=sessionScope.parts;sessionScope.parts=null;var vw:NotesView = null;var vc:NotesViewEntryCollection = null;var ve:NotesViewEntry = null;var veTmp:NotesViewEntry = null;vw = database.getView("Request");vc = vw.getAllEntries();if(vc.getCount()>0){//输出表格及表格标题writer.write("<table border=\"1px black solid\">");writer.write("<tr>");var columns=vw.getColumnNames();for(j = 0 ; j < vw.getColumnCount() ; j++){writer.write("<th>" + columns[j] + "</th>");}writer.write("</tr>");//输出表格行:视图数据ve = vc.getFirstEntry();while (ve) {v = ve.getColumnValues();//条件判断if(condition==null || condition==v.elementAt(0)){writer.write("<tr>");for (i = 0; i < v.size(); i++) {writer.write("<td>"+v.elementAt(i).toString()+"</td>");}}veTmp = vc.getNextEntry(ve);ve.recycle();ve= veTmp;}writer.write("</table>");}else{//没有数据writer.write("No Data");}//////////////////////////输出代码结束/////////////////////////////}catch(e){writer.write("ERROR: "+e.toString());}writer.write("</body></html>");writer.endDocument();} catch (e) {print("sysExportToExcel: "+e);}}Use the context global variable to get an XSPContext object representing the current context.。
hutool工具类实现的简易excel文件导出方法
hutool工具类实现的简易excel文件导出方法一、前言Excel文件作为数据存储和交换的重要工具,在各种场景下都有着广泛的应用。
然而,对于一些非专业的开发者来说,手动编写Excel 文件的导出功能可能会显得有些复杂。
为此,我们介绍一种使用hutool工具类实现的简易Excel文件导出方法。
二、hutool工具类介绍hutool是一组Java工具类的集合,提供了大量实用的功能,如文件操作、网络操作、日期时间处理等。
它具有简洁、高效、易用的特点,为开发者提供了很大的便利。
三、Excel文件导出步骤1.导入hutool库首先,需要在项目中导入hutool库,以便使用其中的功能。
可以通过Maven或Gradle等方式将其添加到项目依赖中。
2.创建Excel文件使用hutool提供的ExcelWriter类,可以很方便地创建一个Excel文件。
3.写入数据使用ExcelWriter类的write方法,可以将数据写入到Excel文件中。
支持写入各种类型的数据,如字符串、数字、日期等。
4.保存Excel文件完成数据写入后,需要调用ExcelWriter类的close方法来保存Excel文件。
四、示例代码以下是一个简单的示例代码,演示了如何使用hutool工具类实现Excel文件的导出:```javaimportcn.hutool.core.io.FileUtil;importcn.hutool.core.util.ExcelUtil;importcn.hutool.core.util.StrUtil;importjava.io.File;importjava.util.ArrayList;importjava.util.List;publicclassExcelExporter{publicstaticvoidmain(String[]args){//创建Excel文件StringfileName="example.xlsx";Filefile=FileUtil.getSingleFile(fileName);ExcelWriterwriter=newExcelWriter(file);//写入数据List<String>data1=newArrayList<>();data1.add("姓名");data1.add("年龄");writer.write(StrUtil.repeatCell("数据1",2));//写入标题行writer.write(data1);//写入数据行List<String>data2=newArrayList<>();data2.add("张三");data2.add("25");writer.write(data2);//写入数据行//关闭Excel文件writer.close();}}```五、总结使用hutool工具类实现Excel文件的导出,可以简化开发过程,提高效率。
VBA实现Excel数据导入和导出的实用方法
VBA实现Excel数据导入和导出的实用方法Excel是一款功能强大的办公软件,而VBA(Visual Basic for Applications)是Excel的一种编程语言,它可以帮助我们实现各种自动化任务。
在本篇文章中,我将为您介绍VBA实现Excel数据导入和导出的实用方法。
一、数据导入方法:1. 打开Excel,按下“ALT + F11”打开VBA编辑器。
2. 在VBA编辑器中,选择“插入”-“模块”,在新建的模块中编写以下代码:```vbaSub ImportData()Dim dataWorkbook As WorkbookDim importWorkbook As WorkbookDim importSheet As WorksheetDim importRange As Range'选择需要导入数据的Excel文件Application.FileDialog(msoFileDialogOpen).Show'将选择的文件导入到新建的工作簿Set importWorkbook =Workbooks.Open(FileName:=Application.FileDialog(msoFileDialogOpen). SelectedItems(1))'选择需要导入数据的工作表和范围Set importSheet = importWorkbook.Sheets("Sheet1") '根据需要修改工作表名称Set importRange = importSheet.Range("A1:B10") '根据需要修改数据范围'将数据复制到当前工作簿中importRange.Copy ThisWorkbook.Sheets("Sheet1").Range("A1") '根据需要修改当前工作簿和工作表名称'关闭导入的工作簿,不保存更改importWorkbook.Close SaveChanges:=FalseEnd Sub```3. 关闭VBA编辑器,返回Excel界面,按下“ALT + F8”调出宏对话框,选择并运行“ImportData”宏。
Excel数据导入和导出的方法
Excel数据导入和导出的方法Excel是一款功能强大的电子表格软件,广泛应用于各行各业。
在工作和学习中,我们经常需要将数据从其他来源导入到Excel中,或者将Excel中的数据导出到其他应用程序中。
本文将介绍几种常用的Excel数据导入和导出的方法,帮助您高效地处理数据。
一、从外部文件导入数据1. 从文本文件导入数据:Excel支持从常见的文本文件(如CSV、TXT等)导入数据。
您只需依次点击“数据”-“从文本”选项,选择并打开相应的文本文件,按照向导提示设置分隔符、数据格式等,即可将文本文件中的数据导入到Excel中。
2. 从数据库导入数据:如果您的数据存储在数据库中,可以通过Excel的“数据”-“获取外部数据”-“从数据库”选项连接到数据库,并选择需要导入的数据表或查询结果,最后将数据导入到Excel的工作表中。
3. 从Web页面导入数据:如果需要从Web页面导入数据,可以使用Excel的“数据”-“从Web”选项。
输入目标Web页面的URL地址,Excel会自动解析页面结构,并将数据导入到工作表中。
二、使用Excel自带的导入功能1. 数据透视表功能:使用数据透视表功能可以方便地对大量数据进行汇总和分析。
您可以将原始数据导入到Excel中的工作表,然后使用数据透视表快速生成汇总报表。
2. 文本转列功能:当数据以文本格式存储在一列中,需要按照特定的分隔符将其分隔成多列时,可以使用Excel的文本转列功能。
只需选中待分隔的数据,点击“数据”-“文本到列”,按照向导提示选择分隔符,即可将文本转换为多列。
三、将Excel数据导出到其他应用程序1. 导出为文本文件:如果需要将Excel中的数据导出为文本文件,可以选择“文件”-“另存为”选项,选择文本文件格式(如CSV、TXT 等),保存到本地磁盘即可。
2. 导出为PDF文件:如果需要将Excel中的数据导出为PDF文件,可以使用Excel的导出功能,选择“文件”-“另存为”-“PDF”选项,并设置导出选项,点击保存即可生成PDF格式的文件。
FineReport报表打印导出EXCEL的四种方式
FineReport报表打印导出EXCEL的四种方式在实际的应用中会经常需要将数据导出成excel,导出的方式除原样导出还有分页导出、分页分sheet导出和大数据量导出。
对于excel 2003版,由于限制了每个sheet的最大行数和列数,大数据量导出时会默认时分多个sheet,而excel2007不会出现这样的问题。
这些导出方式在JAVA程序中分别有不同的接口来实现:1、原样导出原样导出就是不预览直接导出excel其程序接口代码如下:outputStream = new FileOutputStream(new File("E:\\ExcelExport.xls"));ExcelExporter excel = new ExcelExporter();//导出2007版outputStream = new FileOutputStream(new File("E:\\ExcelExport.xlsx")); excel Excel2007Exporter excel = new Excel2007Exporter();excel.export(outputStream, rworkbook);效果图:2、分页导出分页导出,如果报表模版是分页的,会按照分页的结果形式导出,重复的标题等也会重复。
其程序接口代码如下:outputStream = new FileOutputStream(new File("E:\\PageExcelExport.xls")); PageExcelExporter page = new PageExcelExporter(ReportUtils.getPaperSettingListFromWorkBook(rworkbook));//导出2007版outputStream = new FileOutputStream(new File("E:\\PageExcelExport.xlsx")); excel PageExcel2007Exporter page = new PageExcel2007Exporter(ReportUtils.getPaperSettingListFromWorkBook(rworkbook));page.export(outputStream, rworkbook);效果图:3、分页分sheet导出分页分Sheet导出时报表结果的每一页为一个Sheet保存在Excel文件中其代码如下:outputStream = new FileOutputStream(new File("E:\\PageSheetExcelExport.xls")); PageToSheetExcelExporter sheet = newPageToSheetExcelExporter(ReportUtils.getPaperSettingListFromWorkBook(rworkbook));//导出2007版outputStream = new FileOutputStream(new File("E:\\PageSheetExcelExport.xlsx")); excel PageToSheetExcel2007Exporter sheet = new PageToSheetExcel2007Exporter(ReportUtils.getPaperSettingListFromWorkBook(rworkbook)); sheet.export(outputStream, rworkbook);效果图:4、大数据量导出这是比较常见的,例如以50000行为一个excel文件其代码如下:outputStream = new FileOutputStream(new File("E:\\LargeExcelExport.zip")); LargeDataPageExcelExporter large = new LargeDataPageExcelExporter(ReportUtils.getPaperSettingListFromWorkBook(rworkbook), true); //导出2007版outputStream = new FileOutputStream(new File("E:\\LargeExcelExport.xlsx")); excel LargeDataPageExcel2007Exporter large = new LargeDataPageExcel2007Exporter(ReportUtils.getPaperSettingListFromWorkBook(rworkbook), true);large.export(outputStream, rworkbook);对于大数据量导出报表时,可能会出现如下两种情况:一,导出成功,数据会显示在多个Sheet中;二,二,导出失败,导出的Excel内容无效。
domino新手指南
1.前言DOMINO是一个以电子邮件为基础发展起来的标准群件平台,从1982年开始发布第一个版本,至今已经有数十年的历史,正式注册用户过亿。
它最大的优点就是提供了大量内置的如SMTP、POP、LDAP、HTTP、HTTPS等集成的系统服务,所以使用户快速构建跨平台的解决方案成为可能。
整个平台由DOMINOSERVER(DOMINO服务器)、ADMINISTRATOR(DOMINO管理工具)、DESIGNER(DOMINO开发设计工具)、NOTES(DOMINO客户端)组成,在一些针对性应用方面还有LOTUS-WORKFLOW(DOMINO工作流设计系统)、LOTUS-DOMINO.DOC(DOMINO文档管理系统)、LOTUS-QUICKPLACE(DOMINO协作平台)、LOTUS-LEI(DOMINO数据交互系统)、LOTUS-LEARNINGSPACE(DOMINO 培训系统)等强有力支持。
本帖隐藏的内容需要回复才可以浏览2.开发工具分析2.1 帧结构集帧结构类似于HTML开发中的框架设计,帧结构集是帧结构的集合。
帧结构是较大帧结构集的一个区段或窗格,并且可以独立滚动。
通过使用帧结构集,设计者可以在帧结构之间创建链接使彼此相互关联。
帧结构集可以在用户转向或链接到其他页面或数据库是仍然保持某个页面的显示状态。
帧结构一般不采用3-D边框,边框宽度设为0。
2.2 页面页面是用来显示信息的设计元素。
与收集信息的表单不同,页面主要用来向用户展示信息,因此用户不能在页面上创建任何字段或者子表单,但可以创建HTML控件。
因此页面可以用所见即所得的HTML制作工具来进行开发设计。
页面适用于静态信息或者作为其他元素的容器。
可以使用页面作为用户应用的开始界面或者作为提交文件后的提示界面。
2.3 主表单表单是用于在数据库中输入和查看信息的载体。
表单可以包含1)存储数据的字段2)标注字段或者提供指示的文本3)存储用户想要在多个表单上使用的表单元素集合的子表单4)可以结合图形和字段的布局区域它们所采用的方法可以提供更大的设计灵活性5)可以使表单更容易理解的图形6)汇总或者组织信息的表格7)对象OLE 预定Notes/FX(TM)字段文件附件URL 以及可以扩展Notes文档范围的链接8)可以自动执行函数的动作按钮9)可以强化文档外观的背景颜色和图形10)在表单中包含其他设计元素的嵌入式元素在应用上细分DOMINO系统中表单一般分为主表单和子表单,而主表单又分为数据存放表单和数据展现表单。
Lotus Notes中有什么好办法把表里的内容提取到EXECLE表中
Posted on 2005-02-02 08:49 James Wong 阅读(320) 评论(0) 编辑 收藏 收藏至 365Key 所属分类: Lotus | Domino Sub Initialize Dim ws As New notesuiworkspace Dim ss As New notessession Dim db As notesdatabase Dim view As notesview Dim doc As notesdocument Dim files As Variant Dim v As Variant Dim excelApplication As Variant Dim excelWorkbook As Variant Dim excelsheet As Variant Dim count As Integer files = ws.SaveFileDialog( False,"File name",, "c:\", "ISSCYellowPage.xls") If Not(Isempty(files)) Then count=0 Set db=ss.currentdatabase Set view=db.getview("MList_All")Set excelApplication=CreateObject("Excel.Application")Set excelWorkbook = excelApplication.Workbooks.Add Call excelWorkbook.SaveAs(files(0))Set excelsheet=excelWorkbook.Sheets.add ="ISSC Yellow Page"excelSheet.Cells(1,1).Value="Name" excelSheet.Cells(1,2).Value="Serial" excelSheet.Cells(1,3).Value="Employee Type" excelSheet.Cells(1,4).Value="Notes ID" excelSheet.Cells(1,5).Value="TelLine" excelSheet.Cells(1,6).Value="External" excelSheet.Cells(1,7).Value="Location" excelSheet.Cells(1,8).Value="Last Update Date" excelSheet.Cells(1,9).Value="Band"excelSheet.Cells(1,10).Value="Company Name" excelSheet.Cells(1,11).Value="Japanese Name" excelSheet.Cells(1,12).Value="Japanese Name(FURIGANA)" excelSheet.Cells(1,13).Value="Assignment" excelSheet.Cells(1,14).Value="Current Assignment" excelSheet.Cells(1,15).Value="Group" excelSheet.Cells(1,16).Value="Current Project Group" excelSheet.Cells(1,17).Value="Business Area" excelSheet.Cells(1,18).Value="Fixed Member" excelSheet.Cells(1,19).Value="STFS" excelSheet.Cells(1,20).Value="STFS Location" excelSheet.Cells(1,21).Value="STFS Period" excelSheet.Cells(1,22).Value="EATSO ID" excelSheet.Cells(1,23).Value="Comment"Set doc=view.getfirstdocument While Not doc Is Nothing excelSheet.Cells(count+2,1).Value=doc.PYName(0) excelSheet.Cells(count+2,2).Value=doc.Serial(0) excelSheet.Cells(count+2,3).Value=doc.type(0) v=Evaluate("@Name([Abbreviate];"""+doc.NotesID(0)+""")", doc) excelSheet.Cells(count+2,4).Value= v(0) excelSheet.Cells(count+2,5).Value=doc.Extension(0) excelSheet.Cells(count+2,6).Value=doc.Extension_1(0) excelSheet.Cells(count+2,7).Value=doc.location(0) excelSheet.Cells(count+2,8).Value=doc.updateTime(0) excelSheet.Cells(count+2,9).Value=doc.band(0) excelSheet.Cells(count+2,10).Value=panyName(0) excelSheet.Cells(count+2,11).Value=doc.kanji(0) excelSheet.Cells(count+2,12).Value=doc.frgn(0) excelSheet.Cells(count+2,13).Value=doc.assignment(0) excelSheet.Cells(count+2,14).Value=doc.assignment_1(0) excelSheet.Cells(count+2,15).Value=doc.IGAJGroup(0) excelSheet.Cells(count+2,16).Value=doc.IGAJGroup_1(0) excelSheet.Cells(count+2,17).Value=doc.BArea(0) excelSheet.Cells(count+2,18).Value=doc.FMember(0) excelSheet.Cells(count+2,19).Value=doc.STFS(0)excelSheet.Cells(count+2,20).Value=doc.STFSLocation(0) excelSheet.Cells(count+2,21).Value=Format(doc.Start(0),"mm-dd-yyyy")+Format(doc.End(0),"m m-dd-yyyy") excelSheet.Cells(count+2,22).Value=doc.EatsoID(0) excelSheet.Cells(count+2,23).Value=ment(0) Print ("Export "+doc.PYName(0)) count=count+ 1 Set doc=view.getnextdocument(doc) Wend excelWorkbook.save excelWorkbook.close(False) excelApplication.Quit Set excelApplication=Nothing End IfEnd Sub。
Magicodes.IE已支持导出Word、Pdf和Html
Magicodes.IE已⽀持导出Word、Pdf和Html关于Magicodes.IE导⼊导出通⽤库,通过导⼊导出DTO模型来控制导⼊和导出,⽀持Excel、Word、Pdf和Html。
特点需配合相关导⼊导出的DTO模型使⽤,⽀持通过DTO以及相关特性控制导⼊导出。
配置特性即可控制相关逻辑和显⽰结果,⽆需修改逻辑代码;导出⽀持列头⾃定义处理以便⽀持多语⾔等场景;导出⽀持⽂本⾃定义过滤或处理;导⼊⽀持中间空⾏⾃动跳过;导⼊⽀持⾃动根据 DTO ⽣成导⼊模板,针对必填项将⾃动标注;导⼊⽀持数据下拉选择,⽬前仅⽀持枚举类型;导⼊数据⽀持前后空格以及中间空格处理,允许指定列进⾏设置;导⼊⽀持模板⾃动检查,数据⾃动校验,异常统⼀处理,并提供统⼀的错误封装,包含异常、模板错误和⾏数据错误;⽀持导⼊表头位置设置,默认为1;⽀持导⼊列乱序,⽆需按顺序⼀⼀对应;⽀持导⼊指定列索引,默认⾃动识别;⽀持将导⼊Excel进⾏错误标注;导⼊⽀持截⽌列设置,如未设置则默认遇到空格截⽌;⽀持导出HTML、Word、Pdf,⽀持⾃定义导出模板;导出HTML导出Word导出Pdf导出收据导⼊⽀持重复验证;⽀持单个数据模板导出,常⽤于导出收据、凭据等业务⽀持动态列导出(基于DataTable),感谢张善友(相关官⽅Nuget包联系我们订阅号关注“麦扣聊技术”订阅号可以获得最新⽂章、教程、⽂档:QQ群编程交流群<85318032>产品交流群<897857351>⽂档官⽹&官⽅博客⽂档官⽹:博客:其他开源库VNext⽣成导⼊模板时必填项⽀持⾃定义样式配置CSV⽀持导⼊结果⽀持⽣成HTML输出更新历史2019.10.30【Nuget】版本更新到1.4.0【导出】Excel导出⽀持动态列导出(基于DataTable),感谢张善友(2019.10.22【Nuget】版本更新到1.3.7【导⼊】修复忽略列的验证问题【导⼊】修正验证错误信息,⼀⾏仅允许存在⼀条数据【导⼊】修复忽略列在某些情况下可能引发的异常【导⼊】添加存在忽略列的导⼊情形下的单元测试2019.10.21【Nuget】版本更新到1.3.4【导⼊】⽀持设置忽略列,以便于在Dto定义数据列做处理或映射2019.10.18【优化】优化.NET标准库2.1下集合转DataTable的性能【重构】多处IList修改为ICollection【完善】补充部分单元测试2019.10.12【重构】重构HTML、PDF导出等逻辑,并修改IExporterByTemplate为:Task ExportListByTemplate(IList dataItems, string htmlTemplate = null) where T : class;Task ExportByTemplate(T data, string htmlTemplate = null) where T : class;【⽰例】添加收据导出的单元测试⽰例2019.9.28【导出】修改默认的导出HTML、Word、Pdf模板【导⼊】添加截断⾏的单元测试,以测试中间空格和结尾空格【导⼊】将【数据错误检测】和【导⼊】单元测试的Dto分开,确保全部单元测试通过【⽂档】更新⽂档2019.9.26【导出】⽀持导出Word、Pdf、HTML,⽀持⾃定义导出模板【导出】添加相关导出的单元测试【导⼊】⽀持重复验证,需设置ImporterHeader特性的IsAllowRepeat为false2019.9.19【导⼊】⽀持截⽌列设置,如未设置则默认遇到空格截⽌【导⼊】导⼊⽀持通过特性设置Sheet名称2019.9.18【导⼊】重构导⼊模块【导⼊】统⼀导⼊错误消息Exception :导⼊异常信息RowErrors :数据错误信息TemplateErrors :模板错误信息,⽀持错误分级HasError : 是否存在错误(仅当出现异常并且错误等级为Error时返回true)【导⼊】基础类型必填⾃动识别,⽐如int、double等不可为空类型⾃动识别,⽆需额外设置Required 【导⼊】修改Excel模板的Sheet名称【导⼊】⽀持导⼊表头位置设置,默认为1【导⼊】⽀持列乱序(导⼊模板的列序号不再需要固定)【导⼊】⽀持列索引设置【导⼊】⽀持将导⼊的Excel进⾏错误标注,⽀持多个错误【导⼊】加强对基础类型和可为空类型的⽀持【EPPlus】由于EPPlus.Core已经不维护,将EPPlus的包从EPPlus.Core改为EPPlus,2019.9.11【导⼊】导⼊⽀持⾃动去除前后空格,默认启⽤,可以针对列进⾏关闭,具体见AutoTrim设置【导⼊】导⼊Dto的字段允许不设置ImporterHeader,⽀持通过DisplayAttribute特性获取列名【导⼊】导⼊的Excel移除对Sheet名称的约束,默认获取第⼀个Sheet【导⼊】导⼊增加对中间空格的处理⽀持,需设置FixAllSpace【导⼊】导⼊完善对⽇期类型的⽀持【导⼊】完善导⼊的单元测试导出 DemoDemo1-1普通导出public class ExportTestData{public string Name1 { get; set; }public string Name2 { get; set; }public string Name3 { get; set; }public string Name4 { get; set; }}var result = await Exporter.Export(filePath, new List<ExportTestData>(){new ExportTestData(){Name1 = "1",Name2 = "test",Name3 = "12",Name4 = "11",},new ExportTestData(){Name1 = "1",Name2 = "test",Name3 = "12",Name4 = "11",}});Demo1-2特性导出[ExcelExporter(Name = "测试", TableStyle = "Light10")]public class ExportTestDataWithAttrs{[ExporterHeader(DisplayName = "加粗⽂本", IsBold = true)]public string Text { get; set; }[ExporterHeader(DisplayName = "普通⽂本")]public string Text2 { get; set; }[ExporterHeader(DisplayName = "忽略", IsIgnore = true)]public string Text3 { get; set; }[ExporterHeader(DisplayName = "数值", Format = "#,##0")]public double Number { get; set; }[ExporterHeader(DisplayName = "名称", IsAutoFit = true)]public string Name { get; set; }}var result = await Exporter.Export(filePath, new List<ExportTestDataWithAttrs>(){new ExportTestDataWithAttrs(){Text = "啊实打实⼤苏打撒",Name="aa",Number =5000,Text2 = "w萨达萨达萨达撒",Text3 = "sadsad打发打发⼠⼤夫的"},new ExportTestDataWithAttrs(){Text = "啊实打实⼤苏打撒",Name="啊实打实⼤苏打撒",Number =6000,Text2 = "w萨达萨达萨达撒",Text3 = "sadsad打发打发⼠⼤夫的"},new ExportTestDataWithAttrs(){Text = "啊实打实速度⼤苏打撒",Name="萨达萨达",Number =6000,Text2 = "突然他也让他⼈",Text3 = "sadsad打发打发⼠⼤夫的"},});Demo1-3列头处理或者多语⾔⽀持[ExcelExporter(Name = "测试", TableStyle = "Light10")]public class AttrsLocalizationTestData{[ExporterHeader(DisplayName = "加粗⽂本", IsBold = true)]public string Text { get; set; }[ExporterHeader(DisplayName = "普通⽂本")]public string Text2 { get; set; }[ExporterHeader(DisplayName = "忽略", IsIgnore = true)]public string Text3 { get; set; }[ExporterHeader(DisplayName = "数值", Format = "#,##0")]public double Number { get; set; }[ExporterHeader(DisplayName = "名称", IsAutoFit = true)]public string Name { get; set; }}ExcelBuilder.Create().WithLocalStringFunc((key) =>{if (key.Contains("⽂本")){return"Text";}return"未知语⾔";}).Build();var filePath = bine(Directory.GetCurrentDirectory(), "testAttrsLocalization.xlsx");if (File.Exists(filePath)) File.Delete(filePath);var result = await Exporter.Export(filePath, new List<AttrsLocalizationTestData>(){new AttrsLocalizationTestData(){Text = "啊实打实⼤苏打撒",Name="aa",Number =5000,Text2 = "w萨达萨达萨达撒",Text3 = "sadsad打发打发⼠⼤夫的"},new AttrsLocalizationTestData(){Text = "啊实打实⼤苏打撒",Name="啊实打实⼤苏打撒",Number =6000,Text2 = "w萨达萨达萨达撒",Text3 = "sadsad打发打发⼠⼤夫的"},new AttrsLocalizationTestData(){Text = "啊实打实速度⼤苏打撒",Name="萨达萨达",Number =6000,Text2 = "突然他也让他⼈",Text3 = "sadsad打发打发⼠⼤夫的"},});导⼊ Demo导⼊特性(ImporterAttribute):HeaderRowIndex:表头位置导⼊列头特性(ImporterHeader):Name:表头显⽰名称(不可为空)。
Domino常见问题解答
1楼发表于 2004-10-26 16:51Lotus Notes常见问题答疑Lotus Domino/Notes是目前最为流行的文档数据库系统之一,作为群件系统,它利用自身强大的功能使其在企业、政府办公自动化方面的应用越来越广。
以下总结了一些Notes开发和管理的常见问题,希望对大家有所帮助。
问:当硬盘空间不够时,如何压缩我的Notes工作台?答:由于Notes数据库是典型的文档型数据库,因此长期使用后会占用较大硬盘空间,为此我们需要经常对这些数据库进行压缩。
常用的压缩方法是:1.用鼠标右键单击任意工作台页面,并且选择“工作台属性”。
2.在“工作台”属性框中选择第二个属性按钮,并单击压缩按钮实现压缩。
问:对自行开发的数据库,如何将其保存为模板,以便于以后使用?答:如果已经开发或更改了某个数据库,我们通常希望保存它的结构,以便用于今后的开发。
这种做法不仅节省时间,而且在应用程序间保证了一致性。
我们利用以下步骤可以实现把某数据库保存为模板:1.选择“文件数据库新建拷贝”。
2.在“拷贝数据库”对话框中,输入服务器、标题和文件名,其中文件扩展名为NTF。
3.选择数据库设计复选框,并保存为数据库。
4.单击“确定”按钮,生成数据库模板。
问:在调试Lotus Domino程序时,经常会触发执行qnc.exe 程序并退出Notes,如何解决?答:在调试Lotus Domino/Notes程序时,由于程序设计的问题,我们经常会触发执行qnc.exe程序,并提示错误。
其实qnc.exe执行目的只是Notes的内存保护性措施,并不一定是程序本身有错误。
为了便于调试程序,我们可以在Lotus Domino指令窗口内键入qnc _u,使其暂停运行。
如果想恢复时可以再用qnc _i指令装载它。
问:服务器重装后,对一台曾经安装过Notes客户端的机器如何重新连接到新服务器?答:首先你需要利用新建的服务器生成一个新的用户ID文件,并删除原ID文件。
form输出EXCEL
系统设置不能直接调用EXCEL,并要求用PACKAGE写,输出EXCEL折中办法采用的办法是先输出HTML文件,然后再用HTML脚本进行转化为EXCEL。
================================================ ===========PROCEDURE MAIN(ERRCODE OUT VARCHAR2,ERRBUF OUT VARCHAR2,P_ORG_ID IN NUMBER) ISCURSOR CUR_A ISSELECT PV.VENDOR_ID,PV.VENDOR_NAME,PV.SEGMENT1,ASSA.VENDOR_SITE_ID,ASSA.VENDOR_SITE_CODE,HPS.PARTY_SITE_NAME,_IDFROM PO_VENDORS PV,AP_SUPPLIER_SITES_ALL ASSA, --地点HZ_PARTY_SITES HPS --地址WHERE PV.VENDOR_ID = ASSA.VENDOR_ID(+)AND ASSA.PARTY_SITE_ID = HPS.PARTY_SITE_IDAND _ID = P_ORG_IDORDER BY VENDOR_ID;BEGINFND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('<html>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('<head>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<meta http-equiv="Content-Type" content="text/html; charset=gb2312">'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('<style type="text/css">'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' h2 {font-size: 30pt; font-family:''宋体, Arial''}')); --24--35pt FND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' td, body {font-size: 15px; font-family:''宋体, Arial''}'));--16--18pxFND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' div.breakafter { page-break-after:always; }'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' div.breakbefore { page-break-before:always; }'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('</style>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('<script defer>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('function SetPrintSettings() {'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, (' factory.printing.header = "";'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, (' factory.printing.footer = "";'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' factory.printing.portrait = true;'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' factory.printing.leftMargin = 10.0;')); --25(' factory.printing.topMargin = 10.0;')); --20FND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' factory.printing.rightMargin = 10.0;'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' factory.printing.bottomMargin = 10.0;'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('}'));-- CNC_PRJNL_PUT_LINE(p_srs_flag,'OUTFILE', 'SetPrintSettings();'); FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('</script>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('<script>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('var excelObj; var $Table; ')); FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('function printTable(talbleId){')); FND_FILE.PUT_LINE(FND_FILE.OUTPUT, (' var rows,cols; var i,j; '));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' $Table=document.all(talbleId); '));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, (' rows=$Table.rows.length;')); FND_FILE.PUT_LINE(FND_FILE.OUTPUT, (' if(rows>0){ '));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, (' try{'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' cols=$Table.rows(0).children.length; '));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' excelObj = new ActiveXObject("Excel.Application");'));(' excelObj.Visible = true; '));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, (' excelObj.WorkBooks.Add;'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, (' for(i=1;i<=rows;i++) '));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' for(j=1;j<=cols;j++){'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' showInExcel(i,j,$Table.rows(i-1).children(j-1).innerTex t);'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, (' }'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' }catch(e){alert("生成Excel失败!");} '));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, (' }'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, (' else{'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, (' alert("no data");}'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, (' }'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('function showInExcel(row,col,value){'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,(' excelObj.Cells(row, col).Value=value; '));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, (' }'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('</script>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('</head>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('<body>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<table name="excel_table" id="excel_table" align=center style="width: 850px; vertical-align: center; text-align: left;" border="1" cellpadding="0" cellspacing="0">'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('<tbody>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('<tr>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td style="width: 6%; vertical-align: middle; text-align: center;"><span style="font-size: 12; font-family: 宋体">供应商ID</span></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td style="width: 6%; vertical-align: middle; text-align: center;"><span style="font-size: 12; font-family: 宋体">供应商名称</span></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td style="width: 10%; vertical-align: middle; text-align: center;"><span style="font-size: 12; font-family: 宋体">供应商编码</span></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td style="width: 10%; vertical-align: middle; text-align: center;"><span style="font-size: 12; font-family: 宋体">供应商地点ID</span></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td style="width: 6%; vertical-align: middle; text-align: center;"><span style="font-size: 12; font-family: 宋体">供应商地点编码</span></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td style="width: 6%; vertical-align: middle; text-align: center;"><span style="font-size: 12; font-family: 宋体">供应商地址</span></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td style="width: 6%; vertical-align: middle; text-align: center;"><span style="font-size: 12; font-family: 宋体">供应商地点对应组织ID</span></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('</tr>'));FOR REC_A IN CUR_A LOOPFND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('<tr>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td style="width: 6%; vertical-align: middle; text-align: center;"><span style="font-size: 12; font-family: 宋体">' ||REC_A.VENDOR_ID || '</span></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td style="width: 6%; vertical-align: middle; text-align: center;"><span style="font-size: 12; font-family: 宋体">' ||REC_A.VENDOR_NAME || '</span></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td style="width: 10%; vertical-align: middle; text-align: center;"><span style="font-size: 12; font-family: 宋体">' ||REC_A.SEGMENT1 || '</span></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td style="width: 10%; vertical-align: middle; text-align: center;"><span style="font-size: 12; font-family: 宋体">' ||REC_A.VENDOR_SITE_ID || '</span></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td style="width: 6%; vertical-align: middle; text-align: center;"><span style="font-size: 12; font-family: 宋体">' ||REC_A.VENDOR_SITE_CODE || '</span></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td style="width: 6%; vertical-align: middle; text-align: center;"><span style="font-size: 12; font-family: 宋体">' ||REC_A.PARTY_SITE_NAME || '</span></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td style="width: 6%; vertical-align: middle; text-align: center;"><span style="font-size: 12; font-family: 宋体">' ||REC__ID || '</span></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('</tr>'));END LOOP;FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('</tbody></table>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('<table ><tbody>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<table align=center style="width: 850px; vertical-align: center; text-align: left;" border="0" cellpadding="0" cellspacing="0">'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('<tbody>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('<tr>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT,('<td align="right"><input type="submit" name="C_EXCEL" value="保存成Excel" id="C_EXCEL" onclick="printTable(''excel_table'')"/></td>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('</tr>'));FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ('</tbody></table>'));END MAIN;。
DOMINO常见问题
A:可以在Lotus Script种使用timer或sleep语句实现,在notes帮助中有详细的例子和说明。
Q:怎样屏蔽文档保存冲突
当文档保存冲突时,怎样屏蔽掉系统的信息框,而弹出自己的消息框?
A:可以在 querySave 事件里写一段程序。根据当前文档的UNID 在数据库中找到一个文档。
A:R4.6X, 在此域的HTML属性值中键入: TYPE=Password
R4.5X, 在此域属性框的帮助描述项中键入: TYPE="Password"]
注: Type=Password 仅适于在编辑方式的可编辑字段
Q:在以前的Notes版本中(如此而4.5.2), 当年份为1950-1999时, Notes仅显示两位, 2000年后才显示四位.
A:NT Server缺省使用MICROSOFT主页是由于启动了NT自带的IIS服务,有以下三种解决方法:
1。关闭NT本身的IIS服务,使Domino Server的http服务器能够使用80端口。
2。修改Domino上http任务的端口为80以外都某一个值,然后从Domino Server 输入Load
项为"Lotus Notes"。在网页中设置Notes的邮件地址与Internet地址形式相同:设置一个连接,内容为
mailto:user/OU/Org@domain
Q:如果安装notes/cc:Mail时没有找到与Modem相匹配的驱动程序,应如何解决?
A:有三种解决办法:
首先可从Quick Link下选择"Modem files"下载最新的Modem驱动程序包(Zip文件);
或者,选择cc:Mail随机驱动程序中与Modem最相近的驱动程序;
domino技巧
关于Domino 的一些技巧,有以下方面可供参考:
打开系统通讯录:在Domino 主目录中,使用ctrl+shift 组合键,点击菜单栏的“View”,选择“go to…”,然后在弹出的对话框中选择“${Users}”,即可打开当前系统通讯录。
导出状态信息:在Domino Administrator 管理客户机中选择“服务器”选项卡下的“状态统计”,这里可以查看到任务、平台(CPU、内存、磁盘)等有用的信息。
导出数据库信息:在Domino Administrator 管理客户机中选择“文件”选项卡,在出现的数据库列表中,按ctrl+a 快捷键拷贝,再打开一个Excel 文件,直接ctrl+v,就可以将包括任务、平台(CPU、内存、磁盘)状态信息在内的数据导出。
Internet 邮件地址校验:很多企业把Domino 当作邮件服务器来使用,对外收发邮件最重要的设置就是用户的Internet 邮件地址。
用户数太多,Internet 邮件地址重复也是很难避免发生的,这时就需要使用Internet Address 校验工具。
打开待完成的任务:在Domino Administrator 管理客户机中,选择“文件”选项卡,在出现的数据库列表中,选择合适的邮件服务器(不是默认的local)以及Filename(例如admin4.nsf),打开后在Administration Requests 列表里面查看All Requests by Name,可以看到按名称条目分配排序的当前待完成的任务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Dim excelsheet As Variant
Dim i As Integer
Dim uvcols As Integer
Dim selection As Variant
Set excelapplication=CreateObject("Excel.Application")
rows=2
excelsheet.Rows(2).Font.Bold=1
excelsheet.Rows(2)="宋体"
excelsheet.Range("A1","L1").MergeCells = 1
excelsheet.Cells(1,1).Value="中国电信四川公司安全管理人员数据库"
xlsheet.Cells(2,5).Value="手机小号";
xlsheet.Cells(2,6).Value="电子邮件";
xlsheet.Cells(2,7).Value="直拨电话";
xlsheet.Rows(2).Font.Bold=1;
xlsheet.Rows(2)="宋体";
1、简单方法:
问题automation服务器不能创建对象
解决办法:如果javascript脚本中报这个错误是因为IE的安全设置不允许运行未标记为安全的activeX控件 更改IE的安全设置,把相应的选项打开即可。
Sub Initialize
Dim s As New NotesSession
excelsheet.Columns(4).HorizontalAlignment=3
excelsheet.Columns(4).ColumnWidth = 13.63
excelsheet.Columns(5).HorizontalAlignment=3
excelsheet.Columns(6).HorizontalAlignment=3
|
End Sub
2、常用方法:
Sub Initialize
On Error GoTo errormsg
Dim session As New NotesSession
Dim cdoc As NotesDocument
Dim doc As NotesDocument
xlsheet.Columns(7).ColumnWidth = 13.63
|
Do While Not (doc Is Nothing)
Print |xlsheet.Rows(|+i|).Font.Size=9;|
Print |xlsheet.Cells(| +i+|,1).Value='|+"Mid(doc.department(0),1)"+|';|
excelapplication.statusbar="正在创建工作表,请稍等.."
excelapplication.Visible=False
Set excelWorkbook = excelApplication.Workbooks.Add
Set excelSheet = excelWorkbook.Worksheets("sheet1")
Set vw=curdb.GetView("UmSafetyInfo")
Set doc=vw.GetFirstDocument
'Dim x As Variant
'tempstr=|@name([OU2];'|+curdoc.remote_user(0)+|')|
'x=Evaluate(tempstr)
End If
If InStr(tempDir, "\") <> 0 And Right(tempDir, 1) <> "\" Then
tempDir = tempDir & "\domino\html\"
End If
filename="中国电信四川公司安全管理人员数据库.xls"
rows=1
excelapplication.statusbar="正在创建单元格,请稍等.."
excelapplication.Range(excelsheet.Cells(rows, 1), excelsheet.Cells
(rows, 12)).Merge '设置title跨几行显示
="中国电信四川公司安全管理人员数据库" '工作表的名字
Dim rows As Integer
Dim cols As Integer
Dim maxcols As Integer
Dim fieldname As String
Dim fitem As NotesItem
Temp=window.location.href.toLowerCase();
Temp=Temp.substring(0,stIndexOf(".nsf")+5)+"UmSafetyInfo?openview";
window.location=Temp;
</script>
xlsheet.Columns(2).HorizontalAlignment=3
xlsheet.Columns(3).HorizontalAlignment=3
xlsheet.Columns(4).HorizontalAlignment=3
xlsheet.Columns(4).ColumnWidth = 13.63
i=i+1
Set doc=vw.GetNextDocument(doc)
Loop
Print |
xlBook.SaveAs("c:\\通讯录.xls");
xlBook.Close ();
xls.Quit();
xls=null;
alert("已经保存在C盘 通讯录.xls文件中");
excelsheet.Cells(rows,2).value="分管领导"
excelsheet.Cells(rows,3).value="姓名"
excelsheet.Cells(rows,4).value="安办职务"
'Msgbox x(0)
Print |
<script language=javascript>
var xls = new ActiveXObject ( "Excel.Application" );
//xls.visible = "false";
var = xls.Workbooks.Add;
xlsheet.Columns(5).HorizontalAlignment=3
xlsheet.Columns(6).HorizontalAlignment=3
xlsheet.Columns(6).ColumnWidth = 25
xlsheet.Columns(7).HorizontalAlignment=3
tempDir=session.GetEnvironmentString("Directory", True) '获取环境变量,将代理权限设低
If InStr(tempDir, "/") <> 0 And Right(tempDir, 1) <> "/" Then
tempDir = tempDir & "/domino/html/"
var xlsheet = xlBook.Worksheets(1);
xls.Cells.Select;
xlsheet.Cells(2,1).Value="部门";
xlsheet.Cells(2,2).Value="姓名";
xlsheet.Cells(2,3).Value="分机";
xlsheet.Cells(2,4).Value="移动电话";
Print |xlsheet.Cells(| +i+|,2).Value='|+"(0)"+|';|
Print |xlsheet.Cells(| +i+|,3).Value='|+"Cstr(doc.OfficeTelExt(0))"+|';|
Print |xlsheet.Cells(| +i+|,4).Value='|+"Cstr(doc.Cellphone(0))"+|';|
excelsheet.Rows(2).Font.Size=9
excelsheet.Columns(1).ColumnWidth = 25
excelsheet.Columns(2).HorizontalAlignment=3
excelsheet.Columns(3).HorizontalAlignment=3