


C#_Call an encapsulated class to implement the function of exporting Excel tables
Preface
The function of exporting Excel tables is available in most forms. If a class is encapsulated, calling this class directly when using it is not more convenient? , which also reduces the duplication of code, why not?
Operation
First add a reference, select Microsoft Office 16.0 Object Library, and Microsoft Excel 16.0 Object Library in com.
Add namespace:
using Microsoft.Office.Interop.Excel;//导出Excel using Microsoft.Office.Core; using System.Data.OleDb; using System.Windows.Forms;
Create a new class and name it outputExcel, the code is as follows:
public class outputExcel { //导出excel public void RExcel(string name, DataGridView dgv) { //总可见行列数 int rowCount = dgv.Rows.GetRowCount(DataGridViewElementStates.Visible); int colCount = dgv.Columns.GetColumnCount(DataGridViewElementStates.Visible); //如果没有数据 if (dgv.Rows.Count == 0 || rowCount == 0) { MessageBox.Show("表中没有数据", "提示"); } else { //创建文件的路径 SaveFileDialog save = new SaveFileDialog(); save.Filter = "excel files(*.xlsx)|*.xlsx"; save.Title = "请选择要导出数据的位置"; save.FileName = name + DateTime.Now.ToLongDateString(); if (save.ShowDialog() == DialogResult.OK) { string fileName = save.FileName; //创建excel对象 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); if (excel == null) { MessageBox.Show("Excel无法启动", "提示"); return; } //创建工作薄 Microsoft.Office.Interop.Excel.Workbook excelBook = excel.Workbooks.Add(true); Microsoft.Office.Interop.Excel.Worksheet excelSheet = (Microsoft.Office.Interop.Excel.Worksheet)excelBook.Worksheets[1]; //生成字段名 int k = 0; for (int i = 0; i < dgv.ColumnCount; i++) { if (dgv.Columns[i].Visible)//不导出隐藏列 { excel.Cells[1, k + 1] = dgv.Columns[i].HeaderText; k++; } } //填充数据 for (int i = 0; i < dgv.RowCount; i++) { k = 0; for (int j = 0; j < dgv.ColumnCount; j++) { if (dgv.Columns[j].Visible)//不导出隐藏的列 { if (dgv[j, i].ValueType == typeof(string)) { excel.Cells[i + 2, k + 1] = "" + dgv[j, i].Value.ToString(); } else { excel.Cells[i + 2, k + 1] = dgv[j, i].Value.ToString(); } } k++; } } try { excelBook.Saved = true; excelBook.SaveCopyAs(fileName); MessageBox.Show("导出成功!"); } catch { MessageBox.Show("导出文件失败,文件可能正在使用中", "提示"); } } } } }
When the form needs to use this Function, you need to write the following code:
private void btnoutExcel_Click(object sender, EventArgs e) { outputExcel form1 = new outputExcel(); form1.RExcel("", dataGridView1); }
Related articles:
mysql Connector C/C multi-threaded packaging
The above is the detailed content of C#_Call an encapsulated class to implement the function of exporting Excel tables. For more information, please follow other related articles on the PHP Chinese website!

C#.NETisversatileforbothwebanddesktopdevelopment.1)Forweb,useASP.NETfordynamicapplications.2)Fordesktop,employWindowsFormsorWPFforrichinterfaces.3)UseXamarinforcross-platformdevelopment,enablingcodesharingacrossWindows,macOS,Linux,andmobiledevices.

C# and .NET adapt to the needs of emerging technologies through continuous updates and optimizations. 1) C# 9.0 and .NET5 introduce record type and performance optimization. 2) .NETCore enhances cloud native and containerized support. 3) ASP.NETCore integrates with modern web technologies. 4) ML.NET supports machine learning and artificial intelligence. 5) Asynchronous programming and best practices improve performance.

C#.NETissuitableforenterprise-levelapplicationswithintheMicrosoftecosystemduetoitsstrongtyping,richlibraries,androbustperformance.However,itmaynotbeidealforcross-platformdevelopmentorwhenrawspeediscritical,wherelanguageslikeRustorGomightbepreferable.

The programming process of C# in .NET includes the following steps: 1) writing C# code, 2) compiling into an intermediate language (IL), and 3) executing by the .NET runtime (CLR). The advantages of C# in .NET are its modern syntax, powerful type system and tight integration with the .NET framework, suitable for various development scenarios from desktop applications to web services.

C# is a modern, object-oriented programming language developed by Microsoft and as part of the .NET framework. 1.C# supports object-oriented programming (OOP), including encapsulation, inheritance and polymorphism. 2. Asynchronous programming in C# is implemented through async and await keywords to improve application responsiveness. 3. Use LINQ to process data collections concisely. 4. Common errors include null reference exceptions and index out-of-range exceptions. Debugging skills include using a debugger and exception handling. 5. Performance optimization includes using StringBuilder and avoiding unnecessary packing and unboxing.

Testing strategies for C#.NET applications include unit testing, integration testing, and end-to-end testing. 1. Unit testing ensures that the minimum unit of the code works independently, using the MSTest, NUnit or xUnit framework. 2. Integrated tests verify the functions of multiple units combined, commonly used simulated data and external services. 3. End-to-end testing simulates the user's complete operation process, and Selenium is usually used for automated testing.

Interview with C# senior developer requires mastering core knowledge such as asynchronous programming, LINQ, and internal working principles of .NET frameworks. 1. Asynchronous programming simplifies operations through async and await to improve application responsiveness. 2.LINQ operates data in SQL style and pay attention to performance. 3. The CLR of the NET framework manages memory, and garbage collection needs to be used with caution.

C#.NET interview questions and answers include basic knowledge, core concepts, and advanced usage. 1) Basic knowledge: C# is an object-oriented language developed by Microsoft and is mainly used in the .NET framework. 2) Core concepts: Delegation and events allow dynamic binding methods, and LINQ provides powerful query functions. 3) Advanced usage: Asynchronous programming improves responsiveness, and expression trees are used for dynamic code construction.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Dreamweaver Mac version
Visual web development tools

Atom editor mac version download
The most popular open source editor