相关疑难解决方法(0)

如何将列号(例如127)转换为excel列(例如AA)

如何在C#中将数字转换为Excel列名,而不使用自动从Excel直接获取值.

Excel 2007的可能范围为1到16384,即它支持的列数.结果值应采用excel列名称的形式,例如A,AA,AAA等.

c# excel

452
推荐指数
16
解决办法
22万
查看次数

在VBA中查找上次使用的单元格时出错

当我想找到最后使用的单元格值时,我使用:

Dim LastRow As Long

LastRow = Range("E4:E48").End(xlDown).Row

Debug.Print LastRow
Run Code Online (Sandbox Code Playgroud)

当我将单个元素放入单元格时,输出错误.但是当我在单元格中放入多个值时,输出是正确的.这背后的原因是什么?

excel vba excel-formula

168
推荐指数
9
解决办法
11万
查看次数

Excel Interop - 效率和性能

我想知道我可以做些什么来提高Excel自动化的性能,因为如果你在工作表中有很多事情,它可能会很慢......

这里有一些我发现自己:

  • ExcelApp.ScreenUpdating = false - 关闭重绘屏幕

  • ExcelApp.Calculation = Excel.XlCalculation.xlCalculationManual - 关闭计算引擎,以便Excel在单元格值更改时不会自动重新计算(在完成后将其重新打开)

  • 减少对Worksheet.Cells.Item(row, col)和的调用Worksheet.Range- 我不得不轮询数百个单元格以找到我需要的单元格.实现一些单元格位置的缓存,将执行时间从大约40秒减少到大约5秒.

什么样的互操作会对性能造成严重影响,应该避免?你还能做些什么来避免不必要的处理?

c# excel performance interop vsto

62
推荐指数
5
解决办法
3万
查看次数

使用Interop从Excel文件中删除空行和列的最快方法

我有很多包含数据的excel文件,它包含空行和空列.如下所示

Excel预览

我试图使用互操作从excel中删除空行和列.我创建一个简单的winform应用程序并使用以下代码,它工作正常.

Dim lstFiles As New List(Of String)
lstFiles.AddRange(IO.Directory.GetFiles(m_strFolderPath, "*.xls", IO.SearchOption.AllDirectories))

Dim m_XlApp = New Excel.Application
Dim m_xlWrkbs As Excel.Workbooks = m_XlApp.Workbooks
Dim m_xlWrkb As Excel.Workbook

For Each strFile As String In lstFiles
    m_xlWrkb = m_xlWrkbs.Open(strFile)
    Dim m_XlWrkSheet As Excel.Worksheet = m_xlWrkb.Worksheets(1)
    Dim intRow As Integer = 1

    While intRow <= m_XlWrkSheet.UsedRange.Rows.Count
        If m_XlApp.WorksheetFunction.CountA(m_XlWrkSheet.Cells(intRow, 1).EntireRow) = 0 Then
            m_XlWrkSheet.Cells(intRow, 1).EntireRow.Delete(Excel.XlDeleteShiftDirection.xlShiftUp)
        Else
            intRow += 1
        End If
    End While

    Dim intCol As Integer = 1
    While intCol <= m_XlWrkSheet.UsedRange.Columns.Count
        If m_XlApp.WorksheetFunction.CountA(m_XlWrkSheet.Cells(1, …
Run Code Online (Sandbox Code Playgroud)

c# vb.net excel optimization excel-interop

22
推荐指数
2
解决办法
2万
查看次数