① javaScript如何调用excel的规划求解
JavaScript中ActiveXObject对象是启用并返回 Automation 对象的引用。使用方法:
newObj = new ActiveXObject( servername.typename[, location])
ActiveXObject 对象语法有这些部分:其中newObj是必选项。要赋值为 ActiveXObject 的变量名。
servername是必选项。提供该对象的应用程序的名称。
typename是必选项。要创建的对象的类型或类。
location是可选项。创建该对象的网络服务器的名称。
Automation 服务器至少提供一类对象。例如,字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。
要创建 Automation 对象,将新的 ActiveXObject 赋给对象变量:
varExcelSheet;
ExcelApp=newActiveXObject("Excel.Application");
ExcelSheet=newActiveXObject("Excel.Sheet");
本代码启动创建对象的应用程序(在这种情况下,Microsoft Excel 工作表)。一旦对象被创建,就可以用定义的对象变量在代码中引用它。在下面的例子中,通过对象变量 ExcelSheet 访问新对象的属性和方法和其他 Excel 对象,包括 Application 对象和 ActiveSheet.Cells 集合。
//使Excel通过Application对象可见。
ExcelSheet.Application.Visible=true;
//将一些文本放置到表格的第一格中。
ExcelSheet.ActiveSheet.Cells(1,1).Value="ThisiscolumnA,row1";
//保存表格。
ExcelSheet.SaveAs("C:\TEST.XLS");
//用Application对象用Quit方法关闭Excel。
ExcelSheet.Application.Quit();
只有当 Internet 安全性关闭时才能完成在远程服务器中创建对象。要在远程网络计算机创建对象,可以将该计算机的名称传递给 ActiveXObject 的 servername 参数。该名称与共享名的机器名部分相同。比如共享名为 "\myserverpublic" 的网络,servername 是 "myserver"。另外,可以用 DNS 格式或 IP 地址指定 servername。
下面的代码返回在名为 "myserver" 的远程网络计算机上运行的 Excel 实例的版本号:
functionGetAppVersion()
{
varXLApp=newActiveXObject("Excel.Application","MyServer");
return(XLApp.Version);
}
如果指定的远程服务器不存在或找不到时将发生错误。
使用JavaScript中的ActiveXObject填充并设置Excel格式2006年12月19日 星期二 下午 05:131.创建一个新Excel表格
varXLObj=newActiveXObject("Excel.Application");
varxlBook=XLObj.Workbooks.Add;//新增工作簿
varExcelSheet=xlBook.Worksheets(1);//创建工作表
2.保存表格
ExcelSheet.SaveAs("C:\TEST.XLS");
3.使 Excel 通过 Application 对象可见
ExcelSheet.Application.Visible=true;
4.打印
xlBook.PrintOut;
或者:
ExcelSheet.PrintOut;
5.关闭
xlBook.Close(savechanges=false);
或者:
ExcelSheet.Close(savechanges=false);
6.结束进程
ExcelSheet.Application.Quit();
或者:
XLObj.Quit();
XLObj=null;
7.页面设置
ExcelSheet.ActiveSheet.PageSetup.LeftMargin=2/0.035;//页边距左2厘米
ExcelSheet.ActiveSheet.PageSetup.RightMargin=3/0.035;//页边距右3厘米,
ExcelSheet.ActiveSheet.PageSetup.TopMargin=4/0.035;//页边距上4厘米,
ExcelSheet.ActiveSheet.PageSetup.BottomMargin=5/0.035;//页边距下5厘米
ExcelSheet.ActiveSheet.PageSetup.HeaderMargin=1/0.035;//页边距页眉1厘米
ExcelSheet.ActiveSheet.PageSetup.FooterMargin=2/0.035;//页边距页脚2厘米
ExcelSheet.ActiveSheet.PageSetup.CenterHeader="页眉中部内容";
ExcelSheet.ActiveSheet.PageSetup.LeftHeader="页眉左部内容";
ExcelSheet.ActiveSheet.PageSetup.RightHeader="页眉右部内容";
ExcelSheet.ActiveSheet.PageSetup.CenterFooter="页脚中部内容";
ExcelSheet.ActiveSheet.PageSetup.LeftFooter="页脚左部内容";
ExcelSheet.ActiveSheet.PageSetup.RightFooter="页脚右部内容";
8.对单元格操作,带*部分对于行,列,区域都有相应属性
ExcelSheet.ActiveSheet.Cells(row,col).Value="内容";//设置单元格内容
ExcelSheet.ActiveSheet.Cells(row,col).Borders.Weight=1;//设置单元格边框*()
ExcelSheet.ActiveSheet.Cells(row,col).Interior.ColorIndex=1;//设置单元格底色*(1-黑色,
2-白色,3-红色,4-绿色,5-蓝色,6-黄色,7-粉红色,8-天蓝色,9-酱土色..可以多做尝试)
ExcelSheet.ActiveSheet.Cells(row,col).Interior.Pattern=1;//设置单元格背景样式*(1-无,
2-细网格,3-粗网格,4-斑点,5-横线,6-竖线..可以多做尝试)
ExcelSheet.ActiveSheet.Cells(row,col).Font.ColorIndex=1;//设置字体颜色*(与上相同)
ExcelSheet.ActiveSheet.Cells(row,col).Font.Size=10;//设置为10号字*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Name="黑体";//设置为黑体*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Italic=true;//设置为斜体*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Bold=true;//设置为粗体*
ExcelSheet.ActiveSheet.Cells(row,col).ClearContents;//清除内容*
ExcelSheet.ActiveSheet.Cells(row,col).WrapText=true;//设置为自动换行*
ExcelSheet.ActiveSheet.Cells(row,col).HorizontalAlignment=3;//水平对齐方式枚举*(1-常规,
2-靠左,3-居中,4-靠右,5-填充6-两端对齐,7-跨列居中,8-分散对齐)
ExcelSheet.ActiveSheet.Cells(row,col).VerticalAlignment=2;//垂直对齐方式枚举*(1-靠上,
2-居中,3-靠下,4-两端对齐,5-分散对齐)
//行,列有相应操作:
ExcelSheet.ActiveSheet.Rows(row).
ExcelSheet.ActiveSheet.Columns(col).
ExcelSheet.ActiveSheet.Rows(startrow+":"+endrow).//如Rows("1:5")即1到5行
ExcelSheet.ActiveSheet.Columns(startcol+":"+endcol).//如Columns("1:5")即1到5列
//区域有相应操作:
XLObj.Range(startcell+":"+endcell).Select;
//如Range("A2:H8")即A列第2格至H列第8格的整个区域
XLObj.Selection.
//合并单元格
XLObj.Range(startcell+":"+endcell).MergeCells=true;
//如Range("A2:H8")即将A列第2格至H列第8格的整个区域合并为一个单元格
或者:
XLObj.Range("A2",XLObj.Cells(8,8)).MergeCells=true;
9.设置行高与列宽
ExcelSheet.ActiveSheet.Columns(startcol+":"+endcol).ColumnWidth=22;
//设置从firstcol到stopcol列的宽度为22
ExcelSheet.ActiveSheet.Rows(startrow+":"+endrow).RowHeight=22;
//设置从firstrow到stoprow行的宽度为22
② Javascript中如何打开本地Excel文件,并且Excel编辑后,点击Excel中的保存仍然保存到原文件中
你是说使用ActiveX控件来操作EXCEL吧。如使用weboffice控件,嵌入到网页中,就可以在网页中打开、编辑、保存excel文件了。一般这样的控件都要钱的。NTKO OFFICE文档控件,这个有破解版的
③ 我想用javascript操作excel文件,ActiveXObject("Excel.Application")
这个是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事件激发时,删除暂存目录下的所有文件。
注:建议目录结构 \Src 代码目录 \Templet 模板目录 \Temp 暂存目录
六、 附录
出错时Excel出现的死进程出现是一件很头疼的事情。在每个文件前加上“On Error Resume Next”将有助于改善这种情况,因为它会不管文件是否产生错误都坚持执行到“Application.Quit”,保证每次程序执行完不留下死进程。
④ js操作EXCEL的自动适应宽度怎么设置
1.格式---单元格---对齐---在文本控制内选“缩小字体填充”。确定。字体会根据格自动变化字号。
2.全表专输入完内容后,选中属列(或行),鼠标移到线的顶端(左端),变为双箭头,双击,选中的列(行)就根据内容自动调整宽(高)度了。
⑤ Excel中加入Javascript
在excel中引用javascript ,VBA和javascript混合工作。
【例子】 Sub yy02()
Dim js As New ScriptControl
js.Language = "javascript"
js.Eval "function arr(aa){return aa.value.toArray()}" 'toArray一定不能写成toarray
Set y = js.Run("arr", [a1:d1])
MsgBox y
End Sub
将上面的代码,专拷贝到VBA编辑器中属,可以运行 现在在excel中,越来越多的使用XML\JAVAECRIPT\VBSCRIPT。
比如仅仅用VBA实现多层继承和多根继承很难,但是加上javascript就不难了
VBA中数组应用占了很大的比重,如果加进去javascript就更加灵活了
处理树形结构的数据,用MSDOM\XML就方便多了
⑥ 用javascript怎么实现把excel中的数据批量导入到数据库表中
利用jquery里的ocupload这个js组件,步骤和实现文件上传一样,将你要导入的excel表格进行上传到服务端,然后在工程里导入apache的poi这poi-ooxml以及poi-schemas这三个jar包,接受到文件对象后,利用里面的HSSWorkBook这个对象来解析excel里的每行数据,通过对应的数据类型对象添加到数据库里即可
1.将选中的数据快儿拷贝到一个TXT文本文件中(记得把后面的空格消掉。。否则导入数据库后会有对应的空行),假如存到“D:data.txt”这个位置里。
2.根据要导入的数据快儿建立MySql数据库和表,然后进入命令提示符里使用命令
load data local infile 'D:/data.txt' into table exceltomysql fields terminated by ' '
注意:盘符我使用的“/”才成功,否则提示找不到文件 下面文章中是用的“”!
进行导入操作
手动进行Excel数据和MySql数据转换
最快的方法是把EXCEL的数据以CSV的格式导出,到ACCESS导入CSV的那个文件,然后再用ACCESS导出DBF的格式,mySQL可以直接支持和读取DBF格式的数据库文件。
1、在EZDML中打开表,全选,复制,在EXCEL中新建表,粘贴。
2、在EZDML中导出数据,保存为EXCEL文件。
3、在EZDML中导出数据,保存为ACCESS文件,然后在ACCESS数据库中打开表,全选,复制,在EXCEL中新建表,粘贴。
4、在EZDML中导出数据,保存为TXT、XML等通用文件,然后在ACCESS中导入为数据表,再打开表,全选,复制,在EXCEL中新建表,粘贴。
我的空间中记载了一种方法,是我以前在工作时使用的,你可以借鉴下:
:hi../yueyun889/blog/item/fdd23d38a952b624b9998f5a.
你是说SQL server的吧。。。
把查出来的记录全部选中,右键选保存,保存为cvs的文件格式,再打开cvs的文件,重新保存成xls格式的就可。
1、启动SQL企业管理器,选中 表格:1、点击鼠标右键 2、所以任务 3、导入数据
2、选择数据源
3、选择文件路径
4、按txt文本格式,选择相应的分隔符和间距,就可以了。
基于Visual Basic编程语言,举例说明利用VB实现循环将本地Excel数据批量导入到远程的SQL Server数据库的方法。
1、打开文字文档以后,先做好表格,接着找到文档中工具栏的“工具”按钮。
2、点击之后,就会弹出一个命令菜单,在其中找到“邮件合并工具栏”,点击“邮件合并工具栏”以后就会出现如下图2的一个工具栏了。
3、在这个工具栏中找到如下图的图标,点击打开数据源。
4、接着就会出现一个选择框,选择好需要导入的数据源excel文件,点击确定。
5、接着鼠标如下图点击要导入数据文档表格中的单元格,让光标在这个单元格总闪动,然后点击第二幅图上的图标“插入合并域”。
6、接着选择要输入的项目,点击确定,就能看到第二幅图中单元格里出现了《姓名》,出生日期和性别也可以用同样的方法输入。
7、然后点击如下图”合并到新文档“,在合并到新文档设置中选择要导入的数据起始行和结束行,点击确定。
8
8、接着你就会发现excel中的数据全部导入到了文档的表格里。