2017-03-21 5 views
0

J'utilise ActiveXObject ("Excel.Application") pour exporter la table html pour Exel dans IE Explorer, voici mon code:Comment définir 'ColumnWidth' à l'aide d'ActiveXObject ("Excel.Application")?

var curTbl = document.getElementById(tableId); 
var oXL = new ActiveXObject("Excel.Application"); 
var oWB = oXL.Workbooks.Add(); 
var xlsheet = oWB.Worksheets(1); 
var sel = document.body.createTextRange(); 
sel.moveToElementText(curTbl); 
sel.execCommand("Copy"); 
xlsheet.Paste(); 
var fname = oXL.Application.GetSaveAsFilename(name+".xls", "Excel Spreadsheets (*.xls), *.xls"); 
oWB.SaveAs(fname); 
oWB.Close(savechanges = false); 
oXL.Quit(); 
oXL = null; 

Je cherchai tout cela et de cela.

xlsheet.ActiveSheet.Columns(startcol+":"+endcol).ColumnWidth = 22; 

Mais cela n'a pas fonctionné et 'ActiveSheet' est non raffiné.Aide, merci.

+0

Essayez comme xlsheet.Columns (startcol + ":" + colFin) .ColumnWidth = 22; – Jeeped

+0

Cela ne fonctionnait pas non plus et provoquait une exception. –

Répondre

0

Enfin, je trouve un answer.Use

xlsheet.columns.AutoFit(); 

ou

var myRange = xlsheet.Range(xlsheet.Cells(2, 1), xlsheet.Cells(2, 7)); 
myRange.Columns.AutoFit(); 
myRange.Rows.AutoFit();