使用javascript设置excel范围的背景颜色

时间:2015-08-18 08:02:07

标签: javascript excel

我想打开一个现有的.xls文件,设置标题的背景颜色,并使用javascript合并第一行的几列。

感谢您的帮助。

这是我现在的代码..我可以,设置单元格的背景颜色索引并合并单元格。

var xls = new ActiveXObject("Excel.Application");
xls.visible = true;
xls.DisplayAlerts=false;
var wb=xls.Workbooks.Open("C:\\ECN REPORT.xls");
xls.Range("A1","B1").Interior.ColorIndex=37;
xls.Range("C1","D1").Interior.ColorIndex=37;
xls.Range("A1:D1").Merge();
wb.SaveAs("C:\\ECN REPORT.xls");
xls.Quit();

我已将DisplayAlerts设置为False,并希望使用wb.SaveAs()再次保存excel;它会在没有提示的情况下保存文件,但合并更改不会反映在excel文件中。

有人能告诉我哪里错了吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

字体颜色:

oSheet.Range("A1","X1").Font.ColorIndex = 49;

内饰颜色:

oSheet.Range("A1","X1").Interior.ColorIndex = 15;

合并单元格:

oSheet.Range("A1","X1").Merge();

oSheet.Range("A1","X1").MergeCells = true;

答案 1 :(得分:-1)

这是我的问题的工作示例。 它检查文件是否存在,如果是,则删除然后创建excel,合并列,设置背景颜色,边框,fon。

var Excel = new ActiveXObject("Excel.Application");
var fso = new ActiveXObject("Scripting.FileSystemObject");
var checkFile= fso.FileExists("C:\\Report.xlsx");
if(checkFile)
{
fso.DeleteFile("C:\\Report.xlsx",true);
}
var ExcelSheet=new ActiveXObject("Excel.Sheet");
ExcelSheet.ActiveSheet.Range("A1","G1").Merge();
ExcelSheet.ActiveSheet.Range("A1").value="ECN REPORT";
ExcelSheet.ActiveSheet.Range("A1").Font.Bold = true;
ExcelSheet.ActiveSheet.Range("A1").Font.Size = 24;
ExcelSheet.ActiveSheet.Range("A1").HorizontalAlignment = -4108;
ExcelSheet.ActiveSheet.Range("A1","F1").Interior.ColorIndex=2;
// xlEdgeLeft,xlEdgeTop,xlEdgeBottom,xlEdgeRight all set to continuous  borders
ExcelSheet.ActiveSheet.Range("A1","F1").Borders(7).LineStyle=1;
ExcelSheet.ActiveSheet.Range("A1","F1").Borders(8).LineStyle=1;
ExcelSheet.ActiveSheet.Range("A1","F1").Borders(9).LineStyle=1;
ExcelSheet.ActiveSheet.Range("A1","F1").Borders(10).LineStyle=1;