我想打开一个现有的.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文件中。
有人能告诉我哪里错了吗?提前谢谢。
答案 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;