Я использую приложение C # windows для добавления / обновления данных Excel. Я добавил ссылку Microsoft.Office.Interop.Excel
(Ссылка -> Правый клик -> Добавить ссылку -> COM -> Библиотеки типов -> Библиотеки объектов Microsoft Excel 1X.0). В моей форме у меня есть один элемент управления panel1
, один список lstSamples
и две кнопки btnAddSample
, btnFormatWorksheet
.
Мой пример кода, как показано ниже:
using Microsoft.Office.Interop.Excel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows.Forms;
public partial class Form1 : Form
{
Microsoft.Office.Interop.Excel.Application excelApp;
Workbook excelWorkBook;
Worksheet excelWorkSheet;
public Form1()
{
InitializeComponent();
LoadExcelFile();
}
[DllImport("user32.dll")]
static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
private void LoadExcelFile()
{
excelApp = new Microsoft.Office.Interop.Excel.Application();
excelApp.Visible = true;
excelApp.ScreenUpdating = true;
excelApp.EnableAutoComplete = false;
excelWorkBook = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
IntPtr excelHwnd = new IntPtr(excelApp.Application.Hwnd);
SetParent(excelHwnd, panel1.Handle);
}
private void btnAddSample_Click(object sender, EventArgs e)
{
excelWorkSheet = (Worksheet)excelWorkBook.Worksheets.get_Item(1);
int lastUsedRow = excelWorkSheet.UsedRange.Rows.Count;
excelWorkSheet.Cells[lastUsedRow + 1, 1] = lstSamples.SelectedItem.ToString();
lstSamples.Items.Remove(lstSamples.SelectedItem);
}
private void btnFormatWorksheet_Click(object sender, EventArgs e)
{
Range chartRange;
excelWorkSheet = (Worksheet)excelWorkBook.Worksheets.get_Item(1);
chartRange = excelWorkSheet.get_Range("b2", "e9");
chartRange.BorderAround(XlLineStyle.xlContinuous,
XlBorderWeight.xlMedium, XlColorIndex.xlColorIndexAutomatic,
XlColorIndex.xlColorIndexAutomatic);
}
}
Пожалуйста, следуйте инструкциям, как я упомянул 1. Запустите приложение и добавьте данные в ячейку «A1» (которая имеет строковый тип) 2. Снова добавьте некоторые данные в ячейку «A2» и нажмите Enter. Выберите один элемент из lstSamples
в списке и нажмите btnAddSample
(Результат как выбранный элемент будет добавлен в ячейку «A3» 4. Попробуйте изменить данные ячейки «A1» или «A2». (Здесь lstSample
содержит элементы строкового типа как Test1, Test2, Test3, ....). Если вы можете редактировать ячейки, нажмите btnFormatWorksheet
и попробуйте изменить любую ячейку.