Управление данными Excel с помощью Visual Basic

  1. Вебинар: По запросу, по требованию Настольный компьютер как услуга, разработанный для любого облака?...
  2. Добавление ссылки
  3. Создание новой книги Excel и рабочего листа
  4. Добавление данных на лист
  5. Добавление форматирования в ячейки
  6. Создание границ
  7. Добавление диаграммы
  8. Сохранение вашей работы
  9. Заключение

Вебинар:
По запросу, по требованию

Настольный компьютер как услуга, разработанный для любого облака? Рамка Нутаникс


Вступление

Знание того, как работать с приложениями Microsoft Office, особенно с Excel, может оказаться жизненно важным в любой среде. На моей работе есть несколько вариантов экспорта данных пользователям. Эти опции включают в себя популярный формат PDF, а также Excel. Отчеты в формате PDF доступны только для чтения, тогда как отчеты Excel обеспечивают большую активность пользователей. Сегодня я покажу вам, как продуктивно работать с таблицами Excel.

Не намного больше, чтобы говорить, для разнообразия! Давайте сразу начнем с проекта.

Запустите Visual Studio и создайте новый проект Visual Basic для Windows Forms . Добавьте две кнопки к вашей форме. Одна кнопка будет использоваться для создания новой рабочей таблицы Excel, а другая кнопка будет использоваться для сохранения рабочей книги Excel.

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

Добавление ссылки

  1. Нажмите Project, Добавить ссылку.
  2. Выберите вкладку COM .
  3. Прокрутите вниз, пока не найдете библиотеку объектов Microsoft Excel xx.x. В моем случае это библиотека объектов Microsoft Excel 15.0.
  4. Добавьте галочку рядом с ней и выберите ОК.

Рисунок 1: Ссылка на объект Excel
Рисунок 1: Ссылка на объект Excel

Добавьте следующую строку кода, чтобы завершить настройку ссылок Excel:

Импортирует Excel = Microsoft.Office.Interop.Excel

Создание новой книги Excel и рабочего листа

Добавьте следующий код для создания всех объектов Excel (Приложение Excel, Рабочая книга Excel, Рабочая таблица Excel):

Dim xlApp As New Excel. Приложение Dim xlWorkBook As Excel.Workbook Dim xlWorkSheet As Excel.Worksheet

Внутри кода кнопки New добавьте следующее, чтобы завершить процесс создания объекта Excel:

xlWorkBook = xlApp.Workbooks.Add xlApp.Visible = True xlWorkSheet = xlWorkBook.Sheets ("Sheet1")

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

Добавление данных на лист

Продолжайте, где вы остановились. В код события нажатия кнопки «Создать» добавьте следующее, чтобы добавить некоторые данные в Sheet1:

С xlWorkSheet .Range ("A1"). Значение = "Месяц" .Range ("A2"). Значение = "Январь" .Range ("A3"). Значение = "Февраль" .Range ("A4"). Значение = "Март" .Range ("A5"). Значение = "Апрель" .Range ("B1"). Значение = "Погашение кредита" .Range ("B2"). Значение = "1000.00" .Range ("B3" ) .Value = "1200.00" .Range ("B4"). Value = "1300.00" .Range ("B5"). Value = "1600.00" .Range ("A6"). Value = "Total Paid" .Range ( "B6"). Формула = "= Сумма (B2: B5)"

Это добавляет указанный текст в каждую назначенную ячейку, используя свойства Range объекта Worksheet. Последняя строка кода добавляет формулу SUM в ячейку B6. Я специально не закрывал структуру With, потому что мы будем продолжать добавлять в нее код, поэтому, пожалуйста, продолжайте.

Добавление форматирования в ячейки

Добавьте следующий код для форматирования наших ячеек:

С .Range ("A1: B1") .Interior.ColorIndex = 4 С .Font .ColorIndex = 2 .Size = 8 .Name = "Comic Sans MS" .Bold = True Окончание заканчивается с .Range ("A6: A6 ") .Interior.ColorIndex = 4 с .Font .ColorIndex = 2 .Size = 8 .Name =" Comic Sans MS ".Bold = True заканчивается на конце .Range (" B2: B6 "). NumberFormat =" R # ## 0,00"

Ячейки A1, B1 и A6 заполняются ColorIndex 4, который зеленого цвета. Шрифт будет изменен на «Comic Sans MS», размер до 8, и он будет выделен жирным шрифтом.

Создание границ

Добавьте следующий код, чтобы добавить границы вокруг некоторых ваших ячеек:

С .Range ("A1: B6") С .Borders (Excel.XlBordersIndex.xlEdgeLeft) .LineStyle = Excel.XlLineStyle.xlDouble .ColorIndex = 0 .TintAndShade = 0 .Weight = Excel.XlBorderWeight.xlB Excel.XlBordersIndex.xlEdgeTop) .LineStyle = Excel.XlLineStyle.xlContinuous .ColorIndex = 0 .TintAndShade = 0. Вес: Excel. .ColorIndex = 0 .TintAndShade = 0 .Weight = Excel. .xlТонкий конец с .LineStyle = Excel.XlLineStyle.xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = Excel.XlBorderWeight.xl, заканчивающийся на .Columns ("A: B"). CompleteColumn.AutoFit ()

С помощью предыдущего кода я установил границы для наших двух столбцов и их соответствующих ячеек, которые содержат данные. Вот больше информации о Типы границ Excel это можно найти. Самая последняя строка Auto соответствует всем данным внутри столбцов. Ваш рабочий лист должен выглядеть как на рисунке 2:

Рисунок 2: отформатированный лист
Рисунок 2: отформатированный лист

Добавление диаграммы

Добавьте следующий код, чтобы добавить 3D круговую диаграмму с ее легендой и соответствующим заголовком:

.Shapes.AddChart.Select () с xlApp.ActiveChart .ApplyCustomType (Excel.XlChartType.xl3DPie) .SetSourceData (Source: = xlWorkSheet.Range ("$ A $ 1: $ B $ 5")) xlApp.mat.Ah. Fill.ForeColor.ObjectThemeColor = _ Microsoft.Office.Core.MsoThemeColorIndex.msoThemeColorAccent6 xlApp.ActiveChart.ChartArea.Format.Fill.ForeColor.TintAndShade. .ChartArea.Format.Fill.Transparency = 0 xlApp.ActiveChart.ChartArea.Format.Fill.Solid () .Parent.RoundedCorners = True с .PlotArea .Format.Fill.Visible = Microsoft.Office.Core.MsoTriState.msoFalse .For .Line.Visible = Microsoft.Office.Core.MsoTriState.msoFalse Завершить с .Legend With .Format.TextFrame2.TextRange.Font.Fill .Visible = Microsoft.Office.Core.MsoTriState.msoTrue .ForeColor.RGB = RGB (RGB , 0, 128) .Transparency = 0 .Solid () Заканчивается на .Format.Fill .Visible = Microsoft.Office.Core.MsoTriState.msoTrue .ForeColor.ObjectThemeColor = Microsoft.Offi ce.Core. _ MsoThemeColorIndex.msoThemeColorBackground2 .ForeColor.TintAndShade = 0 .ForeColor.Brightness = -0.25 .Transparency = 0 .Solid () оканчивается на .ChartTitle.Format.TextFrame2.TextRange.Fffet.Ont .msoUnderlineWavyLine заканчивается концом

Ваша диаграмма должна напоминать рисунок 3:

Рисунок 3: Наша Диаграмма
Рисунок 3: Наша Диаграмма

Сохранение вашей работы

Добавьте следующий код, чтобы сохранить свою работу:

Private Sub btnSave_Click (отправитель как объект, e как EventArgs) _ Обрабатывает btnSave.Click xlWorkBook.SaveAs (имя файла: = "C: \ TEMP \ Example.xlsx", _ FileFormat: = 51) xlWorkBook.Close () xlApp.Quit ( ) ReleaseAll (xlApp) ReleaseAll (xlWorkBook) Конец Sub Личный Sub Sub ReleaseAll (ByVal obj как объект) Попробуйте System.Runtime.InteropServices.Marshal.ReleaseComObject (obj) obj = Ничего Catch ex As Exception obj = Ничего, наконец GC.Collect () Конец Попробуй End Sub

Предыдущий код сохраняет рабочие книги и правильно завершает работу в Excel, используя подпрограмму ReleaseAll, которая удаляет все ссылки на Excel из памяти.

Заключение

Всегда очень удобно знать, как работать с внешними библиотеками, особенно с библиотеками, доступными в Microsoft Office. Надеюсь, вам понравилась эта статья так же, как и мне. До следующего раза, ура!

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