2012-10-03 28 views
5

当我转换数据表为.csv我的Excel工作表被如下生成: enter image description here编程Excel单元进行自动配合宽度及高度

,并试图象下面这样:

sw.Write(string.Format("=\"{0}\"", drow[i].ToString())); 

然后我的Excel工作表就像:

enter image description here

注意到细胞具有=”“字符;

我试图做的像自动适合宽度&编程的每个单元格的高度。怎么样?

+2

您是否试过'Excel.Rows.AutoFit'和'Excel.Columns.AutoFit'? – paul

+1

刚刚创建.csv文件还是使用Microsoft.Office.Interop.Excel创建实际的Excel文件? – VoltaicShock

+0

@paul截至目前,我只是通过流创建xl;我需要在互操作中加载xl吗?感谢您的回复.... –

回答

1

我发现这个另一页上:

C#

http://www.spreadsheetgear.com/support/help/spreadsheetgear.net.3.0/SpreadsheetGear~SpreadsheetGear.IRange~AutoFit.html

//自动设置关于列B和C. worksheet.Cells宽度。[ “B:C”]列.AutoFit();

//将第7行至第9行的行高设置为自动。 worksheet.Cells [“7:9”]。Rows.AutoFit();

+0

感谢您的回复。我已经完成了。 –

+0

那个(“xlWorkSheet.Cells [”1:10“] .Rows.AutoFit();”)给我一个错误,更具体地说“System.Runtime.InteropServices.COMException未处理” –

9

尝试获得的范围,然后自动调整做

Range.Rows.AutoFit(); 
Range.Columns.AutoFit(); 
2

这个问题,只是帮我解决了问题的一部分。 我不得不将数据复制到辅助表单,然后将其发送到数据网格,但是当我这样做时,它会在数据网格中显示#########序列以显示我的一些数据大于该领域本身。 所以我用 **sheets.UsedRange.Columns.AutoFit();** 来解决每次创建新列的问题。 其中是我的变量谁收到**Microsoft.Office.Interop.Excel.Worksheet**

非常感谢你们。