Я хочу добавить только один лист после создания книги Excel через C #

Код – это

Excel.Application appC = new Excel.Application(); appC.Visible = true; Excel.Workbook bookC = appC.Workbooks.Add(1); Excel.Worksheet sheetC = bookC.Worksheets.Add(); sheetC.Name = "something"; 

Команда Workbook.Add() принимает один параметр, который должен определять, сколько листов будет создано в рабочей книге … правильно?

Итак, почему я получаю 2 листа … один по имени «что-то», а другой – «лист 2»? Что я делаю не так??

Это код для создания объекта приложения Excel и откройте книгу с только одним листом и назовите его как хотите:

 Excel.Application appC = new Excel.Application(); appC.SheetsInNewWorkbook = 1; appC.Visible = true; Excel.Workbook bookC = appC.Workbooks.Add(); Excel.Worksheet sheetC = appC.Sheets.get_Item(1); sheetC.Name = "name-of-sheet"; 

Параметр to Workbooks.Add не указывает количество листов.

См. Описание метода добавления MSDN .

Вероятно, вы должны использовать константу xlWBATWorksheet, а не просто «1».

[Я не работаю и не имею Excel под рукой; может быть, что значение этой константы фактически равно 1, и в этом случае это не будет означать (функциональную) разницу. Альтернативой является установка свойства SheetsInNewWorkbook перед созданием рабочей книги или просто удаление ненужных листов после создания рабочей книги.]

Я столкнулся с такой же проблемой. Вам нужно добавить лист следующим образом:

 //add 1 sheet _workbookTemp.Sheets.Add(Type.Missing, Type.Missing, 1, Type.Missing); //move this sheet to the last position _workbookTemp.ActiveSheet.Move(After: _workbookTemp.Sheets[_workbookTemp.Sheets.Count]); 

если вы используете vs 2010, вы можете использовать приведенный ниже код, чтобы добавить рабочий лист в рабочую книгу, я это пробовал в VS 2010, это работает для меня, используя шаблон проекта рабочей книги Excel 2007

 void AddSheet() { OpenFileDialog excelSheetToOpen = new OpenFileDialog(); excelSheetToOpen.Filter = "Excel 97- 2003 WorkBook (*.xls)| *.xls | Excel 2007 WorkBook (*.xlsx) | *.xlsx | All files (*.*)|*.*"; excelSheetToOpen.FilterIndex = 3; excelSheetToOpen.Multiselect = false; Excel.Worksheet ws = Globals.ThisWorkbook.Worksheets.get_Item("RunningParameters"); if (excelSheetToOpen.ShowDialog() == DialogResult.OK) { Excel.Application excelApp = new Excel.Application(); String workbookPath = excelSheetToOpen.FileName; Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath); Excel.Sheets excelWorkBookSheets = excelWorkbook.Sheets; Excel.Range _UsedRangeOftheWorkSheet; foreach (Excel.Worksheet _Sheet in excelWorkBookSheets) { if (_Sheet.Name == ws.get_Range("B3").Value) { _Sheet.UsedRange.Copy(); _UsedRangeOftheWorkSheet = _Sheet.UsedRange; Object [,] s = _UsedRangeOftheWorkSheet.Value; Excel.Worksheet _WorkingSheet = Globals.ThisWorkbook.Sheets.Add(ws); _WorkingSheet.Name = "WorkingSheet"; _WorkingSheet.Paste(); } } } } 

Этот код непосредственно извлекается из моей проекции, пожалуйста, внесите необходимый код в надежде, что это поможет решить вашу проблему

благодаря

  • Создание сводной таблицы программно из нескольких таблиц базы данных
  • XML-лента Excel, как сделать элемент управления, такой как элемент управления «Pivot Table» Excel
  • C #: Как найти, вызвал ли процесс текущее приложение?
  • C # Excel interop - как проверить, работает ли объект interop и выполняет ли задание?
  • Ошибка при использовании Interop для открытия Excel в c #
  • Можете ли вы написать формулу Excel из C # при записи в диапазон ячеек?
  • установить Office Interops без Office на сервере
  • Жирным шрифтом и курсивом, не работающим в Excel с EPPLUS
  • Скрыть столбцы в Excel с помощью C # и Interop
  • Найти и заменить текст в excel с указанным именем шрифта
  • Является ярлыком данных Excel с линейной диаграммой C #
  • Interesting Posts

    Excel 2013 Макро-таблица в столбцы (для текстового анализа)

    Использование Dic для поиска совпадений и обновления столбцов в VBA

    vba> form> показать пользовательскую форму с кнопкой без фокуса

    Вам нужен код VBA, чтобы выбрать листы, соответствующие именам в списке, а затем сохранить в новую книгу

    Разрешение запрещается при открытии открытого файла csv, но не с открытым текстовым файлом

    Как выбрать диапазон области печати рабочего листа?

    Как вы ссылаетесь на книгу, которая называется Addin из Addin в Excel?

    Метод Apache poi для записи данных в существующую книгу

    Согласование 2 столбцов с двумя другими столбцами для возврата значения из другого столбца

    VLOOKUP + PIVOT TABLE DATA

    Как сделать макрос для сохранения .txt файлов в формате .xls в Excel?

    Автоматизация создания текстовых файлов из Excel

    Книга на VSTO в VS2010

    как удалить повторяющиеся значения из таблицы pandas pivot?

    Обходное решение HTMLBody для объекта OlAppointment?

    Давайте будем гением компьютера.