自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

转载 ASP.NET中应用Excel:(13)优化(续)

前面章节描述的使用Automation操作Excel的方法,采用每次new Excel.Application()的方式。这样每访问Excel一次,就要启动一个Excel实例,会耗费很多时间在Excel的启动上(我的环境下大致是用15秒来启动Excel)。这个可以通过将Excel.Application类型变量申明为static来进行优化。通过这种方式,除第一次需要启动Excel外,后续操作都不再

2014-09-13 22:48:18 350

转载 ASP.NET中应用Excel:12)其它读取Excel数据的方法(完)

除了直接访问单元格读取数据的方法之外,也可以使用OleDBAdapter来读取Excel工作表数据,注意,是工作表数据。使用这种方法,可以一次性获取全部工作表数据集。 使用Excel 2003的方法,注意连接字符串中的单引号: [csharp] view plaincopy using System.Data;      using Syste

2014-09-13 22:45:47 464

转载 ASP.NET中应用Excel:(11)权限问题-为什么Excel无法启动

默认情况下,ASP.NET以“NET SERVICE”来启动Excel,如果没有正确的设置权限或使用模仿(Imperson),则会出现无法启动Excel的错误。 先看模仿(imperson)如何处理。模仿需要在web.config指定有权限启动和访问Excel的用户名和密码,密码是明文的,其格式如下: [xml] view plaincopy sy

2014-09-13 22:45:17 519

转载 ASP.NET中应用Excel:(9)实现表格的自动增长

当用户编辑Excel工作表的时候,如果在正编辑的单元格上按回车或下键头的时候,编辑焦点会自动向下滚动。当然Excel本身已经具有256X65535的空间,因此这不是什么新鲜事。如果要在我们的HTML表格上实现这样的功能,那就更像Excel了,而且这么简单的功能,没有理由不来个锦上添花。设想一下,当用户使用我们的表格编辑数据,来到最后一行,输入,一按回车,表格自动增加了一行,来到最后一列,再按右键头

2014-09-13 22:44:04 562

转载 在ASP.NET中应用Excel:(7)表格尺寸的计算

上一节留了个尾巴,没有说如何获取表格的尺寸。其实表格尺寸的计算在读取Excel工作表数据时就应该进行,同时进行的还有计算包含数据的单元格的最大列号和行号。 具体实现是: [csharp] view plaincopy for (int r = rowRange.Count; r >= 1; r--)      {          XmlE

2014-09-13 22:41:47 378

转载 ASP.NET中应用Excel:(6)在服务器端生成HTML表格

读写数据都完成了,现在来看看如何生成客户端界面。使用Atals的TabContainer是个不错的选择。比较的是如何保持单元格原有的格式,特别是在有单元格合并的情况下。 首先,你得有一个TabContainer控件在页面中,然后需要根据工作表的数量添加相应的TabPanel。可以以如下方式添加: [csharp] view plaincopy Xm

2014-09-13 22:41:22 479

转载 ASP.NET中应用Excel:(5)保存

读取数据之后,可以生成HTML的页面,由用户在客户端浏览器进行在线编辑(生成表格和添加在线编辑功能将在后续章节中描述,如果这个主题让大家感兴趣的话),类似于Google的在线电子表格功能。当然啦,我们只要很阳春的功能就可以了。编辑的结果,可以以XML的形式提交给服务器端处理,这个处理主要是保存为XLSX电子表格。因为使用的是ASP.NET环境,配合Atlas会比较方便,使用ScriptMethod

2014-09-13 22:40:48 396

转载 在ASP.NET中应用Excel:(8)为HTML表格增加编辑功能

我们可以为HTML表格增加编辑功能,具体表现为:当用户单击某个单元格(术语:激活),该单元格位置上出现编辑框,背景也与其它未激活的单元格不同,以示区别,当用户完成编辑后,单元格内容被更新。如果用户使用方向键,则变化单元格的激活状态。整个情况类似于Excel中的操作。 要实现上述目的,我们首先要处理单元格的在激活事件(onactivate)和去激活事件(ondeactivate),具体实现如下

2014-09-13 22:40:24 519

转载 ASP.NET中应用Excel:(4)格式和公式

现在已经有了单元格对象,我们来读取单元格数据: [csharp] view plaincopy Excel.Range cell = (Excel.Range)range.get_Item(r, c); // 获取单元格对象            if ( (bool)cell.HasFormula ) // 该单元格式为公式      { 

2014-09-13 22:40:23 503

转载 ASP.NET中应用Excel:(3)访问工作表数据

已经创建了Excel.Application对象,并打开了工作薄,现在可以遍历工作表和单元格来获取数据了。并不是所有的单元格都有数据,大部分都是空的,因此XmlDocument来保存取得的数据是个不错的主意,还可以将XmlDocuemnt作为ScriptMethod的结果返回到客户端浏览器,使用JavaScript来生成表格,表现结果。根据我的经验,即使在服务端创建表格,也只消耗Excel操作的数

2014-09-13 22:40:01 313

转载 ASP.NET中应用Excel:(2)释放对象

我们访问的Excel对象是COM对象。对于COM对象(也包括接口),每次对于对象的引用(在C++中这一操作对应于ComCreateObject和QueryInterface)都会增加该对象的引用计数,释放对象引用则会减少引用计数(在C++中对应于Release)。在C++中对象和接口的创建和引用是显式的(需要编写代码),因此我们很清楚的知道哪些对象和接口应该在使用完成后释放掉,释放操作也是显式的。

2014-09-13 22:39:33 494

转载 ASP.NET中应用Excel:(1)访问Excel

虽然MS不建议在网站中使用Automation来访问Excel对象,但在只有很少访问量的Intranet中应用一下也是可以的。 要使用Excel Automation,首先要添加Microsoft.Office.Interop.Excel的引用。通过项目的“Add Reference”窗口, 找到"Microsoft Excel 12.0 Object"(这里是Excel 2007,如果是E

2014-09-13 22:38:56 318

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除