asp操作Excel的方法
- 格式:pdf
- 大小:334.80 KB
- 文档页数:7
用ASP连接数据库的几种方法用ASP连接DBF、DBC、MDB、Excel、SQL Server型数据库的方法:一、ASP的对象存取数据库方法在ASP中,用来存取数据库的对象统称ADO〔Active Data Objects〕,主要含有三种对象:Connection、Recordset 、CommandConnection:负责打开或连接数据Recordset:负责存取数据表Command:负责对数据库执行行动查询命令二、连接各数据库的驱动程序连接各数据库可以使用驱动程序,也可以使用数据源,不过我建议大家使用驱动程序,因为使用驱动程序非常方便、简单,而使用数据源比较麻烦。
驱动程序适用数据库类型Microsoft.Jet.OLEDB.4.0 MdbMicrosoft Access Driver AccessMicrosoft dBase Driver DbaseMicrosoft Excel Driver ExcelMicrosoft Visual FoxPro Driver DbcSQLOLEDB.1 SQL srver7.0而我们在一般情况下使用Access的数据库比较多,在这里我建议大家连接Access数据库使用下面的方法:dim connset conn = server.createobject("adodb.connection")conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " &server.mappath("../db/bbs.mdb")其中../db/bbs.mdb是你的数据库存放的相对路径!如果你的数据库和ASP文件在同一目录下,你只要这样写就可以了:dim connset conn = server.createobject("adodb.connection")conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.map path("bbs.mdb")有许多初学者在遇到数据库连接时总是会出问题,然而使用上面的驱动程序只要你的数据库路径选对了就不会出问题了ASP连接数据库的5种方法第一种 - 这种方法用在ACCESS中最多strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" _& Server.MapPath("aspfree.mdb")set conn = server.createobject("adodb.connection")conn.open strconn第二种-这种方法用在SQL SERVER中多strconn = "Driver={SQL Server};Description=sqldemo;SERVER=127.0.0.1;" _ &"UID=LoginID;Password=;DATABASE=Database_Name"set conn = server.createobject("adodb.connection")conn.open strconn第三种strconn="Driver={Microsoft Access Driver(*.mdb)};" _&"DBQ=F:\Inetpub\wwwroot\somedir\db1.mdb;DefaultDir=" _&"f:\Inetpub\wwwroot\somedir;uid=LoginID;" _&"pwd=Password;DriverId=25;FIL=MSAccess;"set conn = server.createobject("adodb.connection")conn.open strconn第四种运用系统数据源The following uses a Data Source Name: Exampleset conn = server.createobject("adodb.connection")conn.open "Example"第五种运用ODBC数据源,前提是你必须在控制面板的ODBC中设置数据源set rs = server.createobject("adodb.recordset")rs.open "tblname", "DSNName", 3, 3 第一种 - 这种方法用在ACCESS中最多strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" _& Server.MapPath("aspfree.mdb")set conn = server.createobject("adodb.connection")conn.open strconnASP访问数据库的方式有哪些?在ASP中可以通过三种方式访问数据库:1、IDC〔Internet Database Connector〕方式;2、ADO〔ActiveX Data Objects〕方式;3、RDS〔Remote Data Service〕方式。
探索服务器端Excel数据处理:ASP与ADODB的协同《探索服务器端Excel数据处理:ASP与ADODB的协同》在当今数字化时代,数据的处理和分析变得尤为重要。
尤其是在服务器端,处理Excel文件成为了一项常见且关键的任务。
本文将深入探讨如何使用ASP(Active Server Pages)和ADODB(ActiveX Data Objects)技术来处理上传的Excel文件,实现数据的有效管理和操作。
一、ASP与ADODB:服务器端数据处理的基石ASP作为一种服务器端脚本环境,能够与数据库进行交互,处理客户端请求,生成动态网页。
而ADODB则提供了一种与数据源进行交互的途径,使得在服务器端处理数据成为可能。
二、Excel文件的服务器端读取在服务器端读取Excel文件,首先需要确保文件的路径正确,然后通过ADODB连接对象建立与Excel文件的连接。
使用特定的连接字符串,可以指定Excel文件作为数据源,并设置相应的属性以适应不同的Excel版本。
三、数据的提取与处理一旦连接建立,就可以使用ASP脚本执行SQL查询,从Excel文件中提取数据。
通过遍历结果集,可以逐行读取数据,为进一步的处理和分析做准备。
四、数据的插入与数据库操作获取数据后,常见的操作是将这些数据插入到数据库中。
通过构建合适的SQL语句,可以将Excel中的数据导入到数据库表中,实现数据的持久化存储。
五、性能优化与错误处理在处理Excel文件时,性能优化和错误处理是不可忽视的环节。
合理的资源管理和错误捕捉机制,能够确保数据处理的稳定性和可靠性。
六、结语:ASP与ADODB的协同优势通过ASP和ADODB的协同工作,服务器端的Excel数据处理变得高效且灵活。
这种技术组合不仅提高了数据处理的自动化水平,还为数据驱动的Web应用提供了强大的支持。
Aspose.cell中的Excel模板导出数据//Excel模板导数据(Eexcel中根据DataTable中的个数,给多个Sheet中的模板赋值) dict中模板设置 &=$qyear datatable中设置 &=dtName.cloumnName public void DataSetToManyExcel(string fileName, string fileUrl, Page page, DataSet my_ds, Dictionary<string, string> dict = null, params int[] columns){WorkbookDesigner wbookdesiger = new WorkbookDesigner();wbookdesiger.Open(fileUrl); //打开模板try{if (my_ds.Tables.Count > 0){for (var i = 0; i < my_ds.Tables.Count; i++){//设置DataTablewbookdesiger.SetDataSource(my_ds.Tables[i]);//设置变量if (dict != null){foreach (var di in dict)wbookdesiger.SetDataSource(di.Key, di.Value);}wbookdesiger.Process(i, false);//清除数据源wbookdesiger.ClearDataSource();} if (columns.Length > 0) { Style style = wbookdesiger.Workbook.Styles[wbookdesiger.Workbook.Styles.Add()];//新增样式 style.IsTextWrapped = true;//⽂本换⾏样式\n columns.ForEach(c => { var cells = wbookdesiger.Workbook.Worksheets[0].Cells[c]; cells.SetStyle(style); }); }fileName = System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls";wbookdesiger.Save(fileName, SaveType.OpenInExcel, FileFormatType.Excel2003, page.Response);page.Response.End();}}catch (Exception ex){throw ex;}}//Excel模板导数据(Eexcel中根据DataTable中的个数,复制第⼀个Sheet中的模板,然后分别赋值)public void DataSetToOneExcel(string fileName, string fileUrl, Page page, DataSet my_ds, string tabName = "", Dictionary<int, string> my_dic = null){WorkbookDesigner my_designer = new WorkbookDesigner();my_designer.Open(fileUrl);//打开⽂件Workbook my_workbook = my_designer.Workbook;try{if (my_ds.Tables.Count > 0){//给表格赋值for (var i = 0; i < my_ds.Tables.Count; i++){var temp = i + 1 >= my_ds.Tables.Count ? i : i + 1;//TableNameif (i == 0)my_ds.Tables[i].TableName = tabName != "" ? tabName : "dt";elsemy_ds.Tables[temp].TableName = tabName != "" ? tabName + i : "dt" + temp;my_workbook.Worksheets.AddCopy(0);//复制前⼀个Sheet模板my_workbook.Worksheets[i + 1].Replace(my_ds.Tables[0].TableName, my_ds.Tables[temp].TableName);//替换当前Sheet的下个Sheet的TableName my_designer.SetDataSource(my_ds.Tables[i]);my_designer.Process(i, false);my_designer.ClearDataSource();}//删除最后⼀个sheetmy_workbook.Worksheets.RemoveAt(my_workbook.Worksheets.Count - 1);//给Sheet的Name赋值if (my_dic != null){for (var i = 0; i < my_workbook.Worksheets.Count; i++){foreach (var dd in my_dic){if (i == dd.Key)my_workbook.Worksheets[i].Name = dd.Value;}}}fileName = System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls";my_designer.Save(fileName, SaveType.OpenInExcel, FileFormatType.Excel2003, page.Response);page.Response.End();}}catch (Exception ex){throw ex;}}补充:当表格数据列是动态的时候,显然模板就不⼤适⽤了,这时候我们可以使⽤Apose.Cells的填充⽅法Aspose.Cells.WorkbookDesigner wbookdesiger = new Aspose.Cells.WorkbookDesigner();wbookdesiger.Open(fileUrl); //打开模板//wbookdesiger.SetDataSource(dt);//wbookdesiger.Process();//数据渲染var workbook = wbookdesiger.Workbook;//最后合成⼀个DT来,⼀个合成的动态数据表Aspose.Cells.Cell cell = workbook.Worksheets[0].Cells.FindString("#$DATATABLE$#", null, true);//模板中的列,找出模板中固定的单元格if (cell != null){workbook.Worksheets[0].Cells.ImportDataTable(dt, true, );}int temp = 0; //合并单元格while (temp < dt.Rows.Count){var rows = dt.Select(" 序号=" + dt.Rows[temp]["序号"]);workbook.Worksheets[0].Cells.Merge(1 + temp, 0, rows.Length, 1);workbook.Worksheets[0].Cells.Merge(1 + temp, 1, rows.Length, 1);workbook.Worksheets[0].Cells.Merge(1 + temp, 2, rows.Length, 1);workbook.Worksheets[0].Cells.Merge(1 + temp, 3, rows.Length, 1);workbook.Worksheets[0].Cells.Merge(1 + temp, 4, rows.Length, 1);workbook.Worksheets[0].Cells.Merge(1 + temp, 11, rows.Length, 1);workbook.Worksheets[0].Cells.Merge(1 + temp, 12, rows.Length, 1);workbook.Worksheets[0].Cells.Merge(1 + temp, 13, rows.Length, 1);temp += rows.Length;}var sheet = workbook.Worksheets[0];var cells = sheet.Cells;int columnCount = cells.MaxColumn; //获取表页的最⼤列数int rowCount = cells.MaxRow; //获取表页的最⼤⾏数//适应列宽for (int col = 0; col < columnCount; col++){sheet.AutoFitColumn(col, 0, rowCount);}for (int col = 0; col < columnCount; col++){cells.SetColumnWidthPixel(col, cells.GetColumnWidthPixel(col) + 30);}//表格线Aspose.Cells.Style style = workbook.Styles[workbook.Styles.Add()];style.Borders[Aspose.Cells.BorderType.TopBorder].LineStyle = Aspose.Cells.CellBorderType.Thin;style.Borders[Aspose.Cells.BorderType.TopBorder].Color = System.Drawing.Color.Black;style.Borders[Aspose.Cells.BorderType.BottomBorder].LineStyle =Aspose.Cells. CellBorderType.Thin;style.Borders[Aspose.Cells.BorderType.BottomBorder].Color = System.Drawing.Color.Black;style.Borders[Aspose.Cells.BorderType.LeftBorder].LineStyle = Aspose.Cells.CellBorderType.Thin;style.Borders[Aspose.Cells.BorderType.LeftBorder].Color = System.Drawing.Color.Black;style.Borders[Aspose.Cells.BorderType.RightBorder].LineStyle =Aspose.Cells.CellBorderType.Thin;style.Borders[Aspose.Cells.BorderType.RightBorder].Color = System.Drawing.Color.Black;Aspose.Cells.Range wstrange = sheet.Cells.CreateRange(0, 0, sheet.Cells.MaxRow + 1, sheet.Cells.MaxColumn + 1);Aspose.Cells.StyleFlag stFlag = new Aspose.Cells.StyleFlag();stFlag.All = true;wstrange.ApplyStyle(style, stFlag);var stream = workbook.SaveToStream();return File(stream.ToArray(), "application/octet-stream", "xxxx.xls");。
点聚weboffice 6.0 在线Word,excel,wps编辑控件WebOffice是一款由北京点聚信息技术有限公司提供的完全免费(商业用途也免费)且功能强大的在线Word/excel/wps编辑辅助控件,可以实现:1.在线编辑Word、Excel、PPT、WPS... ...2.全面支持MS Office的界面定制,包括对于Office2007的全面支持3.修订留痕4.限制打印、保存、复制5.直接保存到服务器,支持标准Http Post协议6.强大的书签管理7.套红、文档保护8.模板管理9.其他功能扩展点聚WebOffice是基于客户端的ocx控件,它的功能是将Office文档(Word、Excel、WPS)嵌入到浏览器中,并调用Office中各种接口,完成文档编辑工作,然后使用控件的Http 接口模拟表单提交,发送到数据处理页面(此文档举例为saveDoc.asp页,代码见演示文件),完成文档的存档工作。
在本地测试的时后,首先要安装插件和证书WebOffice_Setup.exe和孙小钢.pfx,然后用VS来运行示例,不要直接打开HTML,那样会报错的webOffice控件自动下载是指在打开网页时,网页会自动把webOffice控件下载下来,从而可以将word、excel嵌入到网页中。
控件自动下载的相关代码如下:< object id=WebOffice height=768 width="100%"style="LEFT: 0px; TOP: 0px"classid="clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5" codebase="../js/WebOffice1.ocx#version=6,0,4,0"><param name="_ExtentX" value="6350"><param name="_ExtentY" value="6350">object>上面的脚本意思是:自动更新classid=FF1FE7A0-0578-4FEE-A34E-FB21B277D561 的COM组件,更新地址为../js/WebOffice1.ocx,codebase后的路径为相对路径也可为绝对路径,要更新的最新版本为6,0,4,0。
ASP对数据库的操作ASP(Active Server Pages)是一种用于创建动态网页的编程技术,它可以通过与数据库进行交互来动态地显示、检索、更新和删除数据。
在下面的文章中,将介绍ASP对数据库的操作的一些常见技术和方法。
一、数据库连接在ASP中,连接到数据库是第一步。
可以使用以下步骤进行数据库连接:1. 引用ADO库:ADO(ActiveX Data Objects)是一种用于访问数据库的COM组件。
因此,首先需要在ASP页面的开头引用ADO库,例如:```asp<!--#include virtual="/adovbs.inc"-->```2. 创建Connection对象:使用以下代码创建一个Connection对象:```aspDim connSet conn = Server.CreateObject("ADODB.Connection")```3. 打开数据库连接:使用Open方法打开数据库连接,并指定数据库驱动程序和连接字符串,例如:```aspconn.Open "DRIVER={SQLServer};SERVER=server_name;DATABASE=db_name;UID=user_name;PWD=pa ssword;"```二、查询数据一般来说,查询数据是ASP对数据库进行的最常见的操作之一、可以使用以下步骤查询数据库:1. 创建Recordset对象:使用以下代码创建一个Recordset对象:```aspDim rsSet rs = Server.CreateObject("ADODB.Recordset")```2. 执行SQL语句:使用Open方法执行SQL语句,并使用Recordset 对象接收返回的数据,例如:```asprs.Open "SELECT * FROM table_name", conn```3. 读取数据:使用MoveNext和EOF方法循环读取Recordset对象的数据,例如:```aspDo While Not rs.EOFResponse.Write rs("column_name")rs.MoveNextLoop```4. 关闭Recordset对象:使用Close方法关闭Recordset对象,例如:```asprs.CloseSet rs = Nothing```三、插入数据除了查询数据,ASP还可以向数据库中插入数据。
ASAP Utilities是一款功能强大的Excel插件,提供了丰富的功能和工具,可以大大提高我们在Excel中的工作效率。
它包含了超过300多个功能,涵盖了文本、公式、筛选、数据清洗、图表、工作表、工作簿、导入导出、信息和安全等多个方面。
它的功能之多、覆盖面之广,使得它成为了Excel用户不可或缺的利器。
ASAP Utilities的使用手册包含了从基础操作到高级应用的全面指导,让用户能够轻松掌握并发挥其最大的潜力。
在使用ASAP Utilities之前,首先需要安装好这个插件。
安装完毕后,在Excel中会多出一个“ASAP Utilities”选项卡,里面包含了众多功能和工具。
在使用时,只需点击相关功能,按照提示进行相应的操作,就能轻松完成各种操作。
在ASAP Utilities的使用手册中,首先介绍基础功能的使用方法,比如在文本处理方面的操作,比如快速选取、筛选、删除重复值、添加行号等;在公式方面的操作,比如快速插入公式、转置、粘贴为值等。
然后逐步深入,介绍如何进行数据清洗和处理,比如删除空白行、合并数据、拆分内容等。
接着会介绍一些高级工具的使用方法,比如快速建立数据透视表、快速插入行列、跳转到指定单元格等。
除了基础和高级功能的介绍外,使用手册还会结合具体的案例,来展示如何利用ASAP Utilities来解决实际问题。
在处理大量数据时,如何利用ASAP Utilities来快速进行数据筛选、清洗和分析;在制作报表时,如何利用ASAP Utilities来快速生成图表和统计数据;在处理多个工作表时,如何利用ASAP Utilities来快速合并和拆分数据等等。
在文章的总结和回顾部分,我对ASAP Utilities的使用体验进行了总结。
通过使用手册的学习和实践,我深刻地体会到了ASAP Utilities的强大功能和便捷性,它大大提高了我的工作效率,让我在Excel中能够更加轻松地完成各种繁琐的操作。
易语言 excel操作类例子易语言是一种基于Windows平台的编程语言,它具有简单易学、开发效率高的特点,适用于各种业务软件的开发。
在实际的工作中,我们经常需要使用Excel进行数据处理和分析。
本文将介绍一些使用易语言进行Excel操作的实例,以帮助读者更好地理解和运用易语言。
1. 打开Excel文件在易语言中,可以使用Excel组件来处理Excel文件。
我们首先需要用到Excel组件的"打开文件"函数来打开指定的Excel文件,示例代码如下:```易语言excel文件句柄 = Excel打开文件(文件路径)```2. 读取Excel文件中的数据读取Excel文件中的数据是Excel操作中的常见需求之一。
通过易语言的Excel组件,我们可以使用"读取单元格数据"函数来读取指定单元格的数据,示例代码如下:```易语言数据 = Excel读单元格(excel文件句柄, 单元格地址)```3. 写入数据到Excel文件除了读取数据,我们还可以通过易语言的Excel组件将数据写入到Excel文件中。
使用"写入单元格数据"函数可以实现该功能,示例代码如下:```易语言Excel写单元格(excel文件句柄, 单元格地址, 数据)```4. 添加工作表易语言的Excel组件还允许我们对Excel文件进行修改和操作。
通过"添加工作表"函数,我们可以在Excel文件中添加一个新的工作表,示例代码如下:```易语言Excel添加工作表(excel文件句柄, 工作表名称)```5. 删除工作表如果我们需要删除Excel文件中的某个工作表,可以使用"删除工作表"函数来实现,示例代码如下:```易语言Excel删除工作表(excel文件句柄, 工作表名称)```6. 保存Excel文件完成对Excel文件的操作后,我们需要将所做的修改保存到文件中。
NET读取Excel文件的方法如何使得读取Excel文件更加高效呢,下面小编就来告诉你三种.NET读取Excel文件的方法。
读取Excel文件方法一:采用OleDB读取Excel文件:把Excel文件当做一个数据源来进行数据的读取操作,实例如下:public DataSet ExcelToDS(string Path){string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";OleDbConnection conn = new OleDbConnection(strConn);conn.Open();string strExcel = "";OleDbDataAdapter myCommand = null;DataSet ds = null;strExcel="select * from [sheet1$]";myCommand = new OleDbDataAdapter(strExcel, strConn);ds = new DataSet(); myCommand.Fill(ds,"table1");return ds;}对于Excel中的表即sheet([sheet1$])如果不是固定的可以使用下面的方法得到代码如下:string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";OleDbConnection conn = new OleDbConnection(strConn);DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSche maGuid.Tables,null);string tableName=schemaTable.Rows[0][2].ToString().Trim();另外:也可进行写入Excel文件,实例如下:代码如下:public void DSToExcel(string Path,DataSet oldds) {//先得到汇总Excel的DataSet 主要目的是获得Excel在DataSet 中的结构string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source ="+path1+";Extended Properties=Excel 8.0" ;OleDbConnection myConn = new OleDbConnection(strCon) ;string strCom="select * from [Sheet1$]";myConn.Open ( ) ;OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom, myConn ) ;ystem.Data.OleDb.OleDbCommandBuilder builder=new OleDbCommandBuilder(myCommand);//QuotePrefix和QuoteSuffix主要是对builder生成InsertComment命令时使用。
利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现。
我的博客介绍过几篇关于Aspose.Word控件和Aspose.Cell控件的使用操作,如下所示。
《使用Aspose.Cell控件实现Excel高难度报表的生成(一)》《使用Aspose.Cell控件实现Excel高难度报表的生成(二)》《使用Aspose.Cell控件实现Excel高难度报表的生成(三)》《使用Aspose.Cell控件实现多个Excel文件的合并》以及关于Word的操作的《利用Aspose.Word控件实现Word文档的操作》这些都是我本人的总结,是实实在在的从项目中来,到博客中去的经验总结,本篇主要介绍在Web的模板化文档输出中,Aspose.Word控件和Aspose.Cell控件的使用操作。
模板化的输出,首先是在预定义好固定的模板,然后绑定数据源或者替换相关的文字实现模板化文档的导出操作。
在Aspose.Word的操作对象中,我们可以使用文本替换的方式实现模板内容的修改,简单的操作如下所示。
Document doc = new Document(MyDir + "Document.doc");doc.Range.Replace("wuhuacong", "伍华聪", false, true);也可以以书签引用替换的方式实现,首先要定义好相应的标签引用,操作如下。
在一个Word文档中某固定位置插入一个标签引用,在Word(2007、2010)的【插入】-【书签】中插入指定位置的书签引用,如下所示。
替换标签内容的代码如下所示。
aspose.Cells使⽤⽅法1、创建Workbook,aspose提供了5个重载⽤于创建⼀个⼯作簿,通过Worksheets 获取到当前sheet页Workbook中Worksheets属性可以通过sheet的下标和sheet的名称获分别取到将要操作的Worksheet对象,例如Workbook work = new Workbook(@"路径");Worksheet sheet = work.Worksheets["New Worksheet1"];//Worksheet sheet = work.Worksheets[0];//根据下标 wb.Worksheets.Clear(); 删除当前⼯作表 wb.Worksheets.Add("New Worksheet1") 新增⼀个⼯作表2、操作单元格Cell cell = sheet.Cells["A1"];//Cell cell =sheet.Cells[0, 0];cell.PutValue("单元格赋值"); //必须⽤PutValue⽅法赋值cell.Style.ForegroundColor = Color.Yellow;//前景颜⾊cell.Style.Pattern = BackgroundType.Solid;//设置背景样式实线cell.Style.Font.Size = 10;//字体⼤⼩cell.Style.Font.Color = Color.Blue;//背景颜⾊cell.Style.Custom = "ddd, dd mmmm 'yy";//⾃定义格式:cell.Style.Rotation = 90; //旋转字体: string value = cell.StringValue;取值 sheet.Cells[0, 0] 参数可以是对应的x、y轴坐标,也可以是A1、A2这种字符串3、设置单元格计算公式work.Cells["A1"].PutValue(1);work.Cells["B1"].PutValue(1);work.Cells["C1"].Formula = "SUM(A1:B1)";work.CalculateFormula(true);当需要给单元格做就计算公式时,使⽤formula设置指定单元格的公式,在保存之前必须调⽤CalculateFormula ⽅法,默认调⽤⽅法就可以,传⼊true参数忽略计算错误,⽀持⾃定义函数,new CalculationOptions()对象出来⾃⼰做设置4、插⼊图⽚sheet.Pictures.Add(1, 0, "图⽚地址");add⽅法规定了图⽚的插⼊必须传⼊坐标,图⽚可以是流或者地址5、保存work.Save("地址");Stream stream= work.SaveToStream();上⾯⽅法是aspose的原⽣导出⽅法,没破解的aspose.cells 在导出EXCEL,最后会多加⼀个 sheet 然后写上 Evaluation Only.......可以通过NPOI来删除掉试⽤的标记sheet页,将aspose的workbook转为流,使⽤NPOI 读取流,通过xwb.removeSheetAt(xwb.NumberOfSheets() - 1);⽅法删除掉最后⼀个sheet,绕过没有授权的试⽤提醒。
报表中的Excel操作之Aspose.Cells(Excel模板)本篇中将简单记录下Aspose.Cells这个强⼤的Excel操作组件。
这个组件的强⼤之处,就不多说,对于我们的报表总是会有导出Excel的处理,如果你使⽤微软Excel的com组件,那么对于简单的操作还⾏,但是多余复杂的模板,那将是⼀个令⼈头疼的事。
在Aspose.Cells之下,将是⼀个简单的事情。
他可以导⼊导出excel操作,在本节将要说的就是他的际遇excel模板的导出强⼤功能。
多的不说,我们先来利⽤Northwind做两个⼩demo。
先说说Aspose.Cells的模板语法:1. &=DataSource.Field,&=[DataSource].[Field]是对DataTable和⼏何类型的引⽤,将会从当前⾏开始竖直向下⽣成多⾏数据。
2. &=$data:是对变量或数组的引⽤。
数组存在skip,horizontal等属性,具体参见3. &=&=动态公式计算;{r}当前⾏,{c}当前列,{-n},{n}当前⾏或列的偏移量前n或后n。
4. &==是动态计算,如excel,if等语句。
(if(logic_test,true_value,false_value))还有其他更为复杂的汇总计算的表达式,这⾥也不在这节多讲,有兴趣的朋友,可以去官⽹看看。
我们先来个简单的例⼦,光说,总是不⾏的,还是要代码实践才能说明⼀切:Excel模板1:代码:在我们的代码中添加数据源:如下:View Code1 var sql = @"select * from Customers2 where Customers.City ='London'";3 var dt=GetDataTable(sql);4 dt.TableName = "Customers";5 WorkbookDesigner designer = new WorkbookDesigner();6 designer.Open(MapPath("~/1.xls"));7//数据源8 designer.SetDataSource(dt);9//报表单位10 designer.SetDataSource("ReportUtils", "xxxxx有限公司客户信息");11 designer.SetDataSource("ReportAdd", "London");12//截⽌⽇期13 designer.SetDataSource("ReportDate", DateTime.Now.ToString("yyyy年MM⽉dd⽇"));1415 designer.Process();1617 designer.Save(string.Format("report.xls"), SaveType.OpenInExcel, FileFormatType.Excel2003, Response);18 Response.Flush();19 Response.Close();20 designer = null;21 Response.End();代码很简单,就是添加了⼀个datatable,和⼏个变量的数据源,我们所⽣成excel为:这就完成了我们的⼀个简单的多表头数据导出报表。
ASP实现web分页打印及web页面导出Excel文件asp 2007-07-19 16:42:48 阅读211 评论0字号:大中小订阅=============================1、将web页数据导出为Excel文件=============================<SCRIPT LANGUAGE="javascript"><!--function AutomateExcel(){var elTable = document.getElementById("outtable"); //outtable 为导出数据所在的表格ID;var oRangeRef = document.body.createT extRange();oRangeRef.moveT oElementText( elT able );oRangeRef.execCommand( "Copy" );var appExcel = new ActiveXObject( "Excel.Application" );appExcel.Visible = true;appExcel.Workbooks.Add().Worksheets.Item(1).Paste();appExcel = null;}//--></SCRIPT><input type="button" name="out_excel" onclick="AutomateExcel();" value="导出到excel" class="notPrint">=============================2、web页面打印及自动分页打印=============================要实现web页面打印,最简单的方法如下:1、<!--media=print 这个属性可以在打印时有效--><style media=print>.Noprint{display:none;}/*此属性将使内容不出现在打印范围内,即不想打印的内容加上class=Noprint 则会在打印时自动忽略*/.PageNext{page-break-after: always;}/*需要分页打印时使用*/</style>2、若要打印的内容很多,需要分页打印时,可以如下设置:在页面中循环读取内容时,将以下内容加入到循环的表格中,比如:<table ><%循环开始%><tr <%if i mod 20 =0 then%>style="page-break-after:always;"<%end if%>><td>内容</td></tr><%循环结束%></table>3、点击按钮,启动打印程序<input name="button" type=button class="NOPRINT"onclick="document.all.WebBrowser.ExecWB(6,1)" value=打印当前页> <input name="button2" type=button class="NOPRINT"onclick="document.all.WebBrowser.ExecWB(8,1)" value=页面设置> <input name="button2" type=button class="NOPRINT"onclick="document.all.WebBrowser.ExecWB(7,1)" value=打印预览>。