как это сделать в C # VBA statment

#c# #excel #vba

#c# #excel #vba

Вопрос:

Я должен сам называть таблицы excell именем пациента, которое у меня есть во входном файле. а не лист1 лист2 и т. Д.

в VBA:

 Set wsPatient =ThisWorkbook.Worksheets.Add
wsPatient.Name = "ThePatientName"
  

Ответ №1:

Вот так:

 Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
if (xlApp != null)
{
    xlApp.Visible = true;
    Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
    Worksheet wsPatient = (Worksheet)wb.Worksheets.Add(missing, missing, missing, missing);
    wsPatient.Name = "ThePatientName";
}
  

Смотрите Эту статью MSDN для получения подробной информации о ссылках, которые необходимо добавить, и using инструкциях.

Как только вы пройдете котельную плиту, код C # будет в значительной степени идентичен тому, к чему вы привыкли с VBA.

Комментарии:

1. Этот код не эквивалентен VBA-коду Booksman: он создает новую книгу и переименовывает один из ее листов, а не добавляет новый лист в существующую книгу и затем присваивает ему имя…

2. Я не знаком с C #, но, как сказал Чарльз, вы неправильно ответили на вопрос. Что-то вроде Worksheet wsPatient = (Worksheet)wb.Worksheet. Добавить, вероятно, более вероятно, что человек хочет.

3. @Jon49 ХОРОШО, я не заметил этого. Я думал, Чарльз жаловался на то, как я создавал рабочую книгу, а не использовал ThisWorkbook . Что-то подсказывает мне, что человек, задающий вопрос, хочет сделать больше, чем две представленные строки кода, и на самом деле ссылка, которую я дал на статью MSDN, более ценна. В любом случае я отредактировал вопрос. Надеюсь, теперь вы одобряете. Кстати, вы можете предложить изменения. Вы получите репутацию, если они будут приняты.

4. Будет сделано в будущем, сейчас выглядит хорошо. Спасибо за совет.

Ответ №2:

Я не думаю, что вы можете сделать то же самое в C #, что и в VBA, VBA (Visual Basic для приложений) предоставляет встроенные функции для интеграции языка программирования (VBA) с Excel, однако существует множество библиотек, которые вы можете использовать для работы с Excel на C#

  1. EPPlus
  2. COM-объекты (Excel.Приложение) Пример