Как сортировать столбцы в Excel программно, используя vb.net? - PullRequest
3 голосов
/ 18 февраля 2009

мы создаем отчет в формате Excel, и нам необходимо программно отсортировать данные перед сохранением файла.

Можно ли программным способом сортировать определенный столбец файла Excel с помощью vb.net?

Согласно вашему предложению, чтобы создать отчет Excel с сортировкой по конкретному столбцу, я просто реализовал логику, как показано ниже.

Dim MyRange As Excel.Range
  gobjExcelReportSheet.Activate()
      MyRange = gobjExcelReportSheet.Range("A8", "L8")
      MyRange.Select()
      MyRange.Sort(Key1:=MyRange.Range("L8"), _
                   Order1:=XlSortOrder.xlAscending, _
                   Header:=XlYesNoGuess.xlGuess, _
                   MatchCase:=False, _
                   Orientation:=XlSortOrientation.xlSortColumns)

Я попробовал эту логику непосредственно перед сохранением файла и даже сразу после сохранения файла, но он не дает никакого результата, т.е. с результатом сортировки, или даже я не получаю никакой ошибки.

Но следующий код работает ....

gobjExcelReportSheet.Application.Selection.Autofilter ()

Но нет возможности сортировать программно.

Пожалуйста, помогите мне ...

Спасибо!

1 Ответ

7 голосов
/ 18 февраля 2009

Предполагается, что вы используете сборки взаимодействия, вот как я это делаю:

Dim myWorkSheet As Excel.Worksheet = myWorkbook.Worksheets(aSheetName)
myWorkSheet.Activate()
Dim myRange As Excel.Range

myRange = myWorkSheet.Range("A1", "L10")
myRange.Select()


myRange.Sort(Key1:=myRange.Range("D1"), _
                        Order1:=Excel.XlSortOrder.xlAscending, _
                        Orientation:=Excel.XlSortOrientation.xlSortColumns)

В основном вам нужно выбрать диапазон (в данном случае A1: L10, затем выбрать сортировку по определенному столбцу (D).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...