我正在尝试选择C#的Excel.Range
对象中的Excel工作表中的所有单元格来应用自动调整,边框等。我在工作表中有一些合并的单元格。
这样做有什么简单的技巧吗?
答案 0 :(得分:11)
从here获取,这将选择工作表中的所有单元格:
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select
答案 1 :(得分:11)
public void refreshSheetColumsSize(Worksheet ws)
{
ws.get_Range("a1").EntireRow.EntireColumn.Select();
}
答案 2 :(得分:8)
Excel.Range theRange = (Excel.Range)CurrentSheet.UsedRange;
在此示例中,CurrentSheet是存储当前正在使用的工作表的变量。
答案 3 :(得分:3)
正式,Excel.Worksheet.UsedRange.Rows和Excel.Worksheet.UsedRange.Columns。
实际上,它有缺陷,你必须减去起始行和列。最接近正确的答案是:
Public ReadOnly Property LastColumn() As Integer
Get
Return ExcelWorksheet.UsedRange.Columns.Count + _
ExcelWorksheet.UsedRange.Column - 1
End Get
End Property
Public ReadOnly Property LastRow() As Integer
Get
Return ExcelWorksheet.UsedRange.Rows.Count + _
ExcelWorksheet.UsedRange.Row - 1
End Get
End Property
这会返回至少所有使用过的单元格,有时会多一点。 '多一点'可能是由于空白细胞(而不是空白)和其他随机事物。从我做过的研究中,这是最好的。
如果您真的想选择一切,那么
ExcelWorksheet.Activate()
ExcelWorksheet.Cells.Select()
答案 4 :(得分:2)
我暂时没有做过任何excel开发(Excel 2003),但我总是发现在执行我希望在代码中实现的任务时录制宏有足够的指示来帮助。
在这种情况下,选择所有单元格并自动调整会得到代码:
Sub Macro1()
Cells.Select
Cells.EntireColumn.AutoFit
End Sub
我认为这大致可以转化为:
((Microsoft.Office.Interop.Excel.Range)_sheet.Cells.Select()).AutoFit();
其中_sheet是您正在使用的工作表的实例。 (另)
答案 5 :(得分:1)
更清洁,并且不依赖于Excel 2007中增加的行数/列数:
如果您的工作表位于名为wsData:
的变量中wsData.Range(wsData.Cells(1, 1), wsData.Cells(wsData.Rows.Count, wsData.Columns.Count))
答案 6 :(得分:1)
要考虑工作表的所有单元格,您可以这样写:
workSheet.Cells[workSheet.Rows.Count,workSheet.Columns.Count]
OR
workSheet.get_Range("A1","IV65536")
要考虑工作表的已用单元格,您可以编写:
workSheet.Rows.SpecialCells(XlCellType.xlCellTypeLastCell, XlSpecialCellsValue.xlTextValues)
“工作表”代表您正在处理的工作表。两个代码示例都返回一个范围。
希望它有所帮助!
答案 7 :(得分:0)
很简单:
xlWorkSheet.UsedRange.Columns.Select()
答案 8 :(得分:0)
worksheet.Columns.AutoFit()
其中"工作表"是Worksheet
类型的变量答案 9 :(得分:0)
xlWorksheet.get_Range("a1").EntireRow.EntireColumn.AutoFit();
xlWorksheet.get_Range("a1").EntireColumn.EntireRow.AutoFit();
细胞填充完成后。