虽然与Excel Interop
工作,我想出了一个问题。在保存之前使用以下代码自动调整工作表的列。的Microsoft Excel互操作检查是否Excel工作表支持自动调整
Excel.Worksheet curSheet = (Excel.Worksheet)wsEnumerator.Current;
curSheet.UsedRange.EntireColumn.AutoFit();
它对我来说很好。然后我遇到了一些特定的Excel工作表的问题。如果我自动填写它说AutoFit method of Range class failed
。
Excel工作表造成的问题,请here
现在我想知道的是,是否有一些方法来检查,如果一个Excel工作表支持自动调整与否。有点像
if(sheet.CanAutoFit())
curSheet.UsedRange.EntireColumn.AutoFit();
任何帮助,将不胜感激。
根据http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.range.autofit(v=office.11).aspx#Y0它会产生一个错误,如果它不是行或行的范围,或列或列的范围。有什么不同的“特定的Excel工作表”会导致这种情况? – SpaceBison
其实,如果你打开这个Excel文档Microsoft Excel中,你会发现,你甚至不能可用于输入自动调整功能的细胞。它的一些固定类型的Excel表。 –
您确定这不是因为您的工作表受到保护吗?您无法调整受保护工作表上的栏的大小。一旦我没有保护你的示例Excel工作表,我可以自动调整所有的列。 –