我有一个PHP Web应用程序,它使用ActiveXObject将表的内容导出到Excel电子表格中。我对某些单元格进行了一些格式化(单元格对齐,货币,日期等),但我需要合并前3个单元格,然后导入图像。我一直在寻找,但没有任何快乐。如果有人知道这是否可行,请告诉我!干杯,塞缪尔
function ExportToExcel() {
input_box=confirm("Export to Microsoft Excel?");
if (input_box==true) {
var xlApp = new ActiveXObject("Excel.Application");
// Silent-mode:
xlApp.Visible = true;
xlApp.DisplayAlerts = false;
var xlBook = xlApp.Workbooks.Add();
xlBook.worksheets("Sheet1").activate;
var XlSheet = xlBook.activeSheet;
XlSheet.Name="Company Report";
// Store the sheet header names in an array
var rows = tblreport_invoice.getElementsByTagName("tr");
var columns = tblreport_invoice.getElementsByTagName("th");
var data = tblreport_invoice.getElementsByTagName("td");
// Set Excel Column Headers and formatting from array
for(i=0;i<columns.length;i++){
XlSheet.cells(2).value= "Company Quote";
XlSheet.cells(3,i+1).value= columns[i].innerText; //XlSheetHeader[i];
XlSheet.cells(3,i+1).font.color="6";
XlSheet.cells(3,i+1).font.bold="true";
XlSheet.cells(3,i+1).interior.colorindex="37";
XlSheet.Range("K4:K200").NumberFormat = "€ #,##0.00";
XlSheet.Range("L4:L200").NumberFormat = "€ #,##0.00";
XlSheet.Range("O4:O200").NumberFormat = "€ #,##0.00";
XlSheet.Range("P4:P200").NumberFormat = "€ #,##0.00";
XlSheet.Range("Q4:Q200").NumberFormat = "€ #,##0.00";
XlSheet.Range("R4:R200").NumberFormat = "€ #,##0.00";
XlSheet.Range("K4:L1000").HorizontalAlignment = -4152;
XlSheet.Range("M4:M1000").HorizontalAlignment = -4152;
XlSheet.Range("N4:Q1000").HorizontalAlignment = -4152;
XlSheet.Range("R4:R1000").HorizontalAlignment = -4152;
XlSheet.Range("F4:F1000").NumberFormat = "MM/DD/YYYY";
}
//run over the dynamic result table and pull out the values and insert into corresponding Excel cells
var d = 0;
for (r=4;r<rows.length+3;r++) { // start at row 2 as we've added in headers - so also add in another row!
for (c=1;c<columns.length+1;c++) {
XlSheet.cells(r,c).value = data[d].innerText;
d = d + 1;
}
}
//autofit the columns
XlSheet.columns.autofit;
// Make visible:
xlApp.visible = true;
xlApp.DisplayAlerts = true;
CollectGarbage();
//xlApp.Quit();
}
}
答案 0 :(得分:1)
//在页面顶部插入公司徽标
MyPic = XlSheet.Pictures.Insert("c:\\1.jpg");
MyPic.Top = XlSheet.Range("A1").Top;
MyPic.Left = XlSheet.Range("A1").Left;
MyPic.ShapeRange.Height = XlSheet.Range("A1").RowHeight * 2;