乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > javascript中调用new ActiveXObject...

javascript中调用new ActiveXObject...

作者:乔山办公网日期:

返回目录:excel表格制作


var xls=new ActiveXObject("Excel.Application");
var xlsBook=xls.workbooks.open("要打开的excel表的路径");
var xlsheet = xlBook.Worksheets(1);//选择第1个工作簿,excel文件默认有3个worksheet
var cellValue=xlsheet.Cells(row,col).value;//取工作簿中指定单元格的值
用完之后可以不用关闭excel,直接使用xls.workbooks.close();关闭当前操作的工作簿,这样你还可以打开其他的excel文件继续操作,所有工作都完成后再调用xls.quit();终止excel进程.
最好将这些操作放进try..catch语句里,因为打开excel文件和操作可能出现异常,在最后的finally语句里将excel进程终止,否则一旦出现异常,此文件在机器重启前将无法被引用.


这个是客户端的问题,因为Excel中可以写宏。
而宏就是一个vb程序,可以完全操控本地电脑。
所以为了安全起见,不运行对Excel进行编辑,以防止宏被运行。
不能。即使用那个东西,也很难兼容的。

一个浏览器能读取客户端本地文件内容,从安全考虑来看,就是非常可怕的一件事情。还好,没有实现。和这个功能带来的应用功能相比,安全更重要呢。

楼主可以放弃用js读取本地文件,改用flash吧。

flash我不懂,每次用上传的时候都是去搜的,可以在本地判断文件大小。我用的是jquery的uplod插件。可以参考。

HTML5呀,听说很强大,只看过两眼。它在鼠标事件中连本地黏贴板中的内容都可以读呢。不过实现html5的应用范围并不是很广,只有最新的桌面和手机浏览器才支持。

至于底层是不是activexobject实现,这就不能肯定了。可以肯定的是activexobject不是javascript和html的东西,怎么说呢,算是附加上的东西吧,就像flash一样。html将很多这些功能收进去了,比如媒体标签。

这个是vbscript的,方法在javascript里都是通用的,不过语法略有不同希望对你有帮助
1、 建立Excel对象
set objExcelApp = CreateObject("Excel.Application")
objExcelApp.DisplayAlerts = false 不显示警告
objExcelApp.Application.Visible = false 不显示界面
2、 新建Excel文件
objExcelApp.WorkBooks.add
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
3、 读取已有Excel文件
strAddr = Server.MapPath(".")
objExcelApp.WorkBooks.Open(strAddr & "\Templet\Table.xls")
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
4、 另存Excel文件
objExcelBook.SaveAs strAddr & "\Temp\Table.xls"
5、 保存Excel文件
objExcelBook.Save (笔者测试时保存成功,页面报错。)
6、 退出Excel操作
objExcelApp.Quit 一定要退出
set objExcelApp = Nothing
三、 ASP操作Excel生成数据表
1、 在一个范围内插入数据
objExcelSheet.Range("B3:k3").Value = Array("67", "87", "5", "9", "7", "45", "45", "54", "54", "10")
2、 在一个单元格内插入数据
objExcelSheet.Cells(3,1).Value="Internet Explorer"
3、 改变单元格文字颜色
objExcelSheet.Cells(3,1).Font.Color=vbred
4、 单元格四周画线条
objExcelSheet.Cells(3.1).Borders(1).LineStyle =1
objExcelSheet.Cells(3.1).Borders(2).LineStyle =1
objExcelSheet.Cells(3.1).Borders(3).LineStyle =1
objExcelSheet.Cells(3.1).Borders(4).LineStyle =1
区域中间画线条
objExcelSheet.Range(“A1:G7”).Borders(7).LineStyle =1
objExcelSheet.Range(“A1:G7”).Borders(8).LineStyle =1

8、 单元格设定背景色
objExcelSheet.Cells(3.1).Interior.colorindex=17
9、 合并单元格
objExcelSheet.Range(“A1:G7”).Merge
10、 设置左右对齐方式
2 left 3 middle 4 right
objExcelSheet.Range("A1").HorizontalAlignment = 2
11、 设置上下对齐方式
2 为居中
objExcelSheet.Range("A1")..VerticalAlignment = 2
四、 ASP操作Excel生成Chart图
1、 创建Chart图
objExcelApp.Charts.Add
2、 设定Chart图种类
objExcelApp.ActiveChart.ChartType = 97
注:二维折线图,4;二维饼图,5;二维柱形图,51
3、 设定Chart图标题
objExcelApp.ActiveChart.HasTitle = True
objExcelApp.ActiveChart.ChartTitle.Text = "A test Chart"
4、 通过表格数据设定图形
objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range("A1:k5"),1
5、 直接设定图形数据(推荐)
objExcelApp.ActiveChart.SeriesCollection.NewSeries
objExcelApp.ActiveChart.SeriesCollection(1).Name = "=""333"""
objExcelApp.ActiveChart.SeriesCollection(1).Values = "={1,4,5,6,2}"
6、 绑定Chart图
objExcelApp.ActiveChart.Location 1
7、 显示数据表
objExcelApp.ActiveChart.HasDataTable = True
8、 显示图例
objExcelApp.ActiveChart.DataTable.ShowLegendKey = True
五、 服务器端Excel文件浏览、下载、删除方案
浏览的解决方法很多,“Location.href=”,“Navigate”,“Response.Redirect”都可以实现,建议用客户端的方法,原因是给服务器更多的时间生成Excel文件。
下载的实现要麻烦一些。用网上现成的服务器端下载组件或自己定制开发一个组件是比较好的方案。另外一种方法是在客户端操作Excel组件,由客户端操作服务器端Excel文件另存至客户端。这种方法要求客户端开放不安全ActiveX控件的操作权限,考虑到通知每个客户将服务器设置为可信站点的麻烦程度建议还是用第一个方法比较省事。
删除方案由三部分组成:
A: 同一用户生成的Excel文件用同一个文件名,文件名可用用户ID号或SessionID号等可确信不重复字符串组成。这样新文件生成时自动覆盖上一文件。
B: 在Global.asa文件中设置Session_onEnd事件激发时,删除这个用户的Excel暂存文件。
C: 在Global.asa文件中设置Application_onStart事件激发时,删除暂存目录下的所有e79fa5e98193e78988e69d83330文件。
注:建议目录结构 \Src 代码目录 \Templet 模板目录 \Temp 暂存目录
六、 附录
出错时Excel出现的死进程出现是一件很头疼的事情。在每个文件前加上“On Error Resume Next”将有助于改善这种情况,因为它会不管文件是否产生错误都坚持执行到“Application.Quit”,保证每次程序执行完不留下死进程。

相关阅读

  • 为什么<em>excel</em>的<em>activex控件</em>

  • 乔山办公网excel表格制作
  • 方法:1.打开 C:\WINDOWS\SHELLNEW 文件夹,看下面有没有名为 EXCEL9.XLS 的文件。如果没有,打开Excel ,新百建一个空白文档,命名为 EXCEL9.XLS,保存到 C:\WINDOWS\SHELLNEW 文件夹。2.然后运行Reg
  • <em>Excel</em>2016ActiveX控件无法插入对象

  • 乔山办公网excel表格制作
  • 1、在使用Excel(包括其他Office组件)的VBA开发功能时,可以插入两种百类型的控件,一种是表单控件(在早期版本中也称为窗体控件,英文Form Controls),度另一种是ActiveX控件。2、前问
  • 为什么<em>excel</em>的activex控件不能用

  • 乔山办公网excel表格制作
  • 方法:1.打开 C:WINDOWSSHELLNEW 文件夹百,看下面有没有名为 EXCEL9.XLS 的文件。如果没有,打开Excel ,新建一个空白文档,命名为 EXCEL9.XLS,保存到 C:WINDOWSSHELLNEW 文件夹。2.然后度运行Rege
关键词不能为空
极力推荐

聚合标签

ppt怎么做_excel表格制作_office365_word文档_365办公网