目录
全选所有列再调用AutoFit:
//auto adjust column width (according to content) Range allColumn = xlWorkSheet.Columns; allColumn.AutoFit();
核心逻辑:
获得对应的列的Range,再去AutoFit
Range firstColumn = xlWorkSheet.get_Range("A1"); firstColumn.EntireColumn.AutoFit();
使用C#操作Excel常会出现类似错误:
Could not load file or assembly ‘Microsoft.Office.Interop.Excel, Version=14.0.0.0
其可能原因,现总结如下:
C#的exe用到了excel的话,希望拿到别人的地方也正常运行不报错的话,
其中,别的地方:
那么有几种选择:
关于,集成dll到exe中,简述为:
比如别人已装的excel,即Office是Office12
那么你也就不要去引用Office14==Office2010:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14\Microsoft.Office.Interop.Excel.dll
了,而去引用Office12==Office2007:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.Office.Interop.Excel.dll
当然,最好确认一下,对方的电脑中装了哪个版本的Office(的excel)
比如是Office 2010==Office14,那么你也就去引用对应的Office14:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14\Microsoft.Office.Interop.Excel.dll
就好了。
Microsoft.Vbe.Interop.dll和office.dll,与Microsoft.Office.Interop.Excel.dll,一起,都是属于“Microsoft Office system 的可用程序集”
所以,最好也是要在集成,Microsoft.Office.Interop.Excel.dll,时,连带的一起把:Microsoft.Vbe.Interop.dll和office.dll都集成进来。
这样,才可以避免,别人在使用exe时,内部用到excel的dll时,完整的所需要的函数,都可以自带的找到了。
不会再对于Microsoft.Vbe.Interop.dll或office.dll报错说找不到。