#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#
- EPPlus
- COM-объекты (Excel.Приложение) Пример