OleDB is Microsoft's strategic low-level application programming interface to different data sources. It supports many kinds of databases. The input and output of DBF files in this client also use this database API. When using OleDB, remember to add the namespace:
using System.Data.OleDb;
Input of the xlsx file:
private void inputXlsx() { string strConn2; string filePath = inPath; FileInfo fileInfo = new FileInfo(filePath); string directory = fileInfo.DirectoryName; strConn2 = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='{0}';Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;';"; string strConnection = string.Format(strConn2, inPath); OleDbConnection conn = new OleDbConnection(strConnection); try { conn.Open(); String tableName = null; DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); tableName = dt.Rows[0][2].ToString().Trim(); OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + tableName + "]", strConnection); oada.Fill(dtOld); conn.Close(); } catch (Exception ex) { conn.Close(); } }
The intermediate processing of the xlsx file varies depending on the needs, and the processing method will not be described here. During the input process, the data in the file is converted into the Datatable data type format. It is a grid virtual table that temporarily saves data, and is very convenient to process.
Export of xlsx file: The output process of xlsx file is not very smooth, and three methods are used.
The first way is naturally OleDB, it has a beginning and an end. However, during actual use, I found that this method not only requires Excel to be installed on the computer to run the program, but also has very high requirements for the Excel version. If you delete the registry, it will be self-defeating. If I change the registry, I will directly destroy Excel. In fact, we cannot guarantee that the corresponding version of Excel must be installed on the customer's machine, so if you use OleDB to output files, the compatibility of this client will be very poor.
After some communication and struggle, I decided to change the method and decided to use third-party components. Since the JAVA side uses POI, the .NET version of the POI project, NPOI, is used directly here. There are many online tutorials and it is easy to implement. However, after testing, this method does not support the input and output of large files very well. There is no problem in processing DEMO files, but it is replaced by 100,000 or even million lines provided by real customers. level files, the client crashes directly during the output process.
After searching for information, netizens recommended using EPPlus for large files. There are also a lot of tutorials. I did not continue to increase the file size for testing. However, the dozen or so files provided by the customer all passed the test, and they were basically below one million.
Go to the code:
private void outputXlsx() { FileInfo newFile = new FileInfo(dtNew.TableName + ".xlsx"); if (newFile.Exists) { newFile.Delete(); newFile = new FileInfo(dtNew.TableName + ".xlsx"); } using (ExcelPackage package = new ExcelPackage(newFile)) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(dtNew.TableName);//创建worksheet for (int m = 0; m < dtNew.Columns.Count; m++) { worksheet.Cells[1, m + 1].Value = dtNew.Columns[m]; } int i = 1; foreach (DataRow dr in dtNew.Rows) { for (int j = 0; j < dtNew.Columns.Count; j++) { worksheet.Cells[i + 1, j + 1].Value = dr[j]; } i++; } package.Save();//保存excel } }

To start C#.NET development, you need to: 1. Understand the basic knowledge of C# and the core concepts of the .NET framework; 2. Master the basic concepts of variables, data types, control structures, functions and classes; 3. Learn advanced features of C#, such as LINQ and asynchronous programming; 4. Be familiar with debugging techniques and performance optimization methods for common errors. With these steps, you can gradually penetrate the world of C#.NET and write efficient applications.

The relationship between C# and .NET is inseparable, but they are not the same thing. C# is a programming language, while .NET is a development platform. C# is used to write code, compile into .NET's intermediate language (IL), and executed by the .NET runtime (CLR).

C#.NET is still important because it provides powerful tools and libraries that support multiple application development. 1) C# combines .NET framework to make development efficient and convenient. 2) C#'s type safety and garbage collection mechanism enhance its advantages. 3) .NET provides a cross-platform running environment and rich APIs, improving development flexibility.

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.


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

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Dreamweaver CS6
Visual web development tools

WebStorm Mac version
Useful JavaScript development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Notepad++7.3.1
Easy-to-use and free code editor