JavaScript 通过 ActiveXObject 操作 Excel 完整指南

作者:闭包旅人

时间:2026-10-23

浏览:606

本文详细介绍如何在 JavaScript 中使用 ActiveXObject 对象自动化操作 Excel。内容涵盖工作簿与工作表的创建、保存、打印及进程关闭;深入解析页面边距、页眉页脚设置;系统讲解单元格内容、边框、底色、字体样式及对齐方式的属性配置,并提供行、列及区域的选择与合并方法。

文章目录
1. 创建 Excel 实例

Excel 对象创建与基础操作

使用 ActiveXObject 创建 Excel 应用程序实例,代码为:var XLObj = new ActiveXObject("Excel.Application" );


通过 Application 对象的 Workbooks 集合调用 Add 方法新增一个工作簿,代码为:var xlBook = XLObj.Workbooks.Add; //新增工作簿


从工作簿中提取第一个工作表(Worksheets(1))并赋值给变量,代码为:var ExcelSheet = xlBook.Worksheets(1); //创建工作表


2. 保存表格

调用工作表的 SaveAs 方法,将当前工作表保存为指定路径的文件,代码为:ExcelSheet.SaveAs("C:\\TEST.XLS" );


3. 使 Excel 通过 Application 对象可见

设置 Excel 应用程序的 Visible 属性为 true,使 Excel 界面可见,代码为:ExcelSheet.Application.Visible = true;


4. 打印操作

调用工作簿的 PrintOut 方法执行打印操作,代码为:xlBook.PrintOut;


或者使用以下替代方案进行打印操作。


调用工作表的 PrintOut 方法执行打印,代码为:ExcelSheet.PrintOut;


5. 关闭工作簿

调用工作簿的 Close 方法并传入参数 savechanges=false 以关闭工作簿且不保存更改,代码为:xlBook.Close(savechanges=false);


或者使用以下替代方案关闭工作簿。


调用工作表的 Close 方法并传入参数 savechanges=false 以关闭工作表且不保存更改,代码为:ExcelSheet.Close(savechanges=false);


6. 结束 Excel 进程

调用 Excel 应用程序对象的 Quit 方法结束 Excel 进程,代码为:ExcelSheet.Application.Quit();


或者使用以下替代方案结束 Excel 进程。


直接调用 Excel 应用程序对象的 Quit 方法结束进程,代码为:XLObj.Quit();


将 Excel 应用程序对象引用置为 null 以释放资源,代码为: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. 对单元格进行操作,带*部分对于行、列、区域都有相应属性

单元格格式化:内容、边框与字体

通过 Cells(row,col).Value 属性设置指定行列单元格的内容,代码为:ExcelSheet.ActiveSheet.Cells(row,col).Value = "内容";


注释说明:用于设置单元格内容。


通过 Cells(row,col).Borders.Weight 属性设置单元格边框粗细,代码为:ExcelSheet.ActiveSheet.Cells(row,col).Borders.Weight = 1;


注释说明:用于设置单元格边框,具体参数见括号内说明。


通过 Cells(row,col).Interior.ColorIndex 属性设置单元格背景颜色索引,代码为:ExcelSheet.ActiveSheet.Cells(row,col).Interior.ColorIndex = 1;


注释说明:用于设置单元格底色,1 代表黑色,2 代表白色,3 代表红色,4 代表绿色,5 代表蓝色,6 代表黄色,7 代表粉红色,8 代表天蓝色,9 代表酱土色,用户可尝试其他数值。


通过 Cells(row,col).Interior.Pattern 属性设置单元格背景图案样式,代码为:ExcelSheet.ActiveSheet.Cells(row,col).Interior.Pattern = 1;


注释说明:用于设置单元格背景样式,1 代表无图案,2 代表细网格,3 代表粗网格,4 代表斑点,5 代表横线,6 代表竖线,用户可尝试其他数值。


通过 Cells(row,col).Font.ColorIndex 属性设置字体颜色索引,代码为:ExcelSheet.ActiveSheet.Cells(row,col).Font.ColorIndex = 1;


注释说明:用于设置字体颜色,颜色索引值与底色设置相同。


通过 Cells(row,col).Font.Size 属性设置字体大小,代码为:ExcelSheet.ActiveSheet.Cells(row,col).Font.Size = 10;


注释说明:用于将字体大小设置为 10 号。


通过 Cells(row,col).Font.Name 属性设置字体名称,代码为:ExcelSheet.ActiveSheet.Cells(row,col).Font.Name = "黑体";


注释说明:用于将字体设置为黑体。


通过 Cells(row,col).Font.Italic 属性设置字体是否为斜体,代码为:ExcelSheet.ActiveSheet.Cells(row,col).Font.Italic = true;


注释说明:用于将字体设置为斜体。


通过 Cells(row,col).Font.Bold 属性设置字体是否为粗体,代码为:ExcelSheet.ActiveSheet.Cells(row,col).Font.Bold = true;


注释说明:用于将字体设置为粗体。


调用 Cells(row,col).ClearContents 方法清除单元格内容,代码为:ExcelSheet.ActiveSheet.Cells(row,col).ClearContents;


注释说明:用于清除单元格内容。


通过 Cells(row,col).WrapText 属性设置单元格内容是否自动换行,代码为:ExcelSheet.ActiveSheet.Cells(row,col).WrapText=true;


注释说明:用于设置单元格自动换行。


通过 Cells(row,col).HorizontalAlignment 属性设置水平对齐方式,代码为:ExcelSheet.ActiveSheet.Cells(row,col).HorizontalAlignment = 3;


注释说明:水平对齐方式枚举值,1 代表常规,2 代表靠左,3 代表居中,4 代表靠右,5 代表填充,6 代表两端对齐,7 代表跨列居中,8 代表分散对齐。


通过 Cells(row,col).VerticalAlignment 属性设置垂直对齐方式,代码为: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 列。


以下操作针对单元格区域进行。


使用 Range 方法选择指定单元格区域,代码为:XLObj.Range(startcell+":"+endcell).Select;


注释说明:例如 Range("A2:H8") 表示选择从 A 列第 2 行到 H 列第 8 行的整个区域。


对当前选中区域执行操作,代码为:XLObj.Selection.


此处涉及合并单元格的操作。


设置指定区域的 MergeCells 属性为 true 以合并单元格,代码为:XLObj.Range(startcell+":"+endcell).MergeCells = true;


注释说明:例如 Range("A2:H8") 表示将 A 列第 2 行到 H 列第 8 行的区域合并为一个单元格。


另一种合并单元格的写法,代码为:XLObj.Range("A2",XLObj.Cells(8,8)).MergeCells = true;


以下部分用于设置行高与列宽。


设置指定列范围的 ColumnWidth 属性,代码为:ExcelSheet.ActiveSheet.Columns(startcol+":"+endcol).ColumnWidth = 22;


注释说明:用于设置从 startcol 到 endcol 列的宽度为 22。


设置指定行范围的 RowHeight 属性,代码为:ExcelSheet.ActiveSheet.Rows(startrow+":"+endrow).RowHeight = 22;


注释说明:用于设置从 startrow 到 endrow 行的高度为 22。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章