public static class ExcelHelper { #region 导入 /// <summary> /// 导入EXCEL(默认的sheet) /// </summary> /// <param name="fileName"></param> /// <returns></returns> public static System.Data.DataTable ImpExcelDt(string fileName) { return ImpExcelDt(fileName, "Sheet1"); } /// <summary> /// excel 导入 /// </summary> /// <param name="fileName"></param> /// <param name="sheetName"></param> /// <returns></returns> public static System.Data.DataTable ImpExcelDt(string fileName, string sheetName) { try { if (!File.Exists(fileName)) { return null; } string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'"; OleDbConnection myConn = new OleDbConnection(strCon); string strCom = " SELECT * FROM [" + sheetName + "$] "; myConn.Open(); OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn); DataSet myDataSet = new DataSet(); myCommand.Fill(myDataSet, "[" + sheetName + "$]"); myConn.Close(); System.Data.DataTable dt = myDataSet.Tables[0]; return dt; } catch(Exception ex) { throw ex; } } #endregion #region 导出到EXCEL /// <summary> /// 将数据导出到指定的Excel文件中 /// </summary> /// <param name="listView">System.Windows.Forms.ListView,指定要导出的数据源</param> /// <param name="destFileName">指定目标文件路径</param> /// <param name="tableName">要导出到的表名称</param> /// <param name="overWrite">指定是否覆盖已存在的表</param> /// <returns>导出的记录的行数</returns> public static int ExportToExcel(System.Data.DataTable dt, string destFileName, string tableName) { if (File.Exists(destFileName)) { File.Delete(destFileName); } //得到字段名 string szFields = ""; string szValues = ""; for (int i = 0; i < dt.Columns.Count; i++) { szFields += "[" + dt.Columns[i] + "],"; } szFields = szFields.TrimEnd(','); //定义数据连接 OleDbConnection connection = new OleDbConnection(); connection.ConnectionString = GetConnectionString(destFileName); OleDbCommand command = new OleDbCommand(); command.Connection = connection; command.CommandType = CommandType.Text; //打开数据库连接 try { connection.Open(); } catch { throw new Exception("目标文件路径错误。"); } //创建数据库表 try { command.CommandText = GetCreateTableSql("[" + tableName + "]", szFields.Split(',')); command.ExecuteNonQuery(); } catch (Exception ex) { //如果允许覆盖则删除已有数据 throw ex; } try { //循环处理数据------------------------------------------ int recordCount = 0; for (int i = 0; i < dt.Rows.Count; i++) { szValues = ""; for (int j = 0; j < dt.Columns.Count; j++) { szValues += "'" + dt.Rows[i][j] + "',"; } szValues = szValues.TrimEnd(','); //组合成SQL语句并执行 string szSql = "INSERT INTO [" + tableName + "](" + szFields + ") VALUES(" + szValues + ")"; command.CommandText = szSql; recordCount += command.ExecuteNonQuery(); } connection.Close(); return recordCount; } catch (Exception ex) { throw ex; } } //得到连接字符串 private static String GetConnectionString(string fullPath) { string szConnection; szConnection = "Provider=Microsoft.JET.OLEDB.4.0;Extended Properties=Excel 8.0;data source=" + fullPath; return szConnection; } //得到创建表的SQL语句 private static string GetCreateTableSql(string tableName, string[] fields) { string szSql = "CREATE TABLE " + tableName + "("; for (int i = 0; i < fields.Length; i++) { szSql += fields[i] + " VARCHAR(200),"; } szSql = szSql.TrimEnd(',') + ")"; return szSql; } #endregion }
以上就是C# EXCEL 导入导出类(OLEDB的方式)的示例代码详情的内容,更多相关内容请关注PHP中文网(www.php.cn)!

C# dan .NET Runtime bekerjasama rapat untuk memperkasakan pemaju untuk keupayaan pembangunan yang cekap, kuat dan silang platform. 1) C# adalah bahasa pengaturcaraan yang berorientasikan objek dan berorientasikan objek yang direka untuk mengintegrasikan dengan lancar dengan rangka .NET. 2) Runtime NET menguruskan pelaksanaan kod C#, menyediakan pengumpulan sampah, keselamatan jenis dan perkhidmatan lain, dan memastikan operasi yang cekap dan silang platform.

Untuk memulakan C# .NET Development, anda perlu: 1. Memahami pengetahuan asas C# dan konsep teras Rangka Kerja NET; 2. Menguasai konsep asas pembolehubah, jenis data, struktur kawalan, fungsi dan kelas; 3. Belajar ciri -ciri canggih C#, seperti LINQ dan pengaturcaraan asynchronous; 4. Berkenaan dengan teknik debugging dan kaedah pengoptimuman prestasi untuk kesilapan biasa. Dengan langkah -langkah ini, anda secara beransur -ansur boleh menembusi dunia C#.net dan menulis aplikasi yang cekap.

Hubungan antara C# dan .NET tidak dapat dipisahkan, tetapi mereka bukan perkara yang sama. C# adalah bahasa pengaturcaraan, sementara .NET adalah platform pembangunan. C# digunakan untuk menulis kod, menyusun bahasa pertengahan .NET (IL), dan dilaksanakan oleh Runtime .NET (CLR).

C#.NET masih penting kerana ia menyediakan alat dan perpustakaan yang kuat yang menyokong pelbagai pembangunan aplikasi. 1) C# menggabungkan rangka kerja NET untuk menjadikan pembangunan cekap dan mudah. 2) Mekanisme keselamatan dan sampah jenis C#meningkatkan kelebihannya. 3) .NET menyediakan persekitaran berjalan lintas platform dan API yang kaya, meningkatkan fleksibiliti pembangunan.

C#.netisversatileforbothwebanddesktopdevelopment.1) Forweb, useasp.netfordynamicapplications.2) Fordesktop, ExployWindowsFormsor Wpfforrichinterfaces.3) UseXamarinforcross-platformdevelopment, enablingcodesharingacrosswindows, macOS, linux, andmobiledevices.

C# dan .NET menyesuaikan diri dengan keperluan teknologi baru melalui kemas kini dan pengoptimuman berterusan. 1) C# 9.0 dan .NET5 Memperkenalkan jenis rekod dan pengoptimuman prestasi. 2) .Netcore meningkatkan sokongan asli dan kontena awan. 3) ASP.Netcore mengintegrasikan dengan teknologi web moden. 4) ML.NET menyokong pembelajaran mesin dan kecerdasan buatan. 5) Pengaturcaraan Asynchronous dan Amalan Terbaik meningkatkan prestasi.

C#.netissusuitibleforenterprise-levelapplicationswithinthememicrosoftecosystemduetoitsstrongtyping, richlibraries, androbustperformance.

Proses pengaturcaraan C# dalam .NET termasuk langkah -langkah berikut: 1) Menulis C# Code, 2) Menyusun bahasa pertengahan (IL), dan 3) yang dilaksanakan oleh Runtime .NET (CLR). Kelebihan C# dalam .NET adalah sintaks moden, sistem jenis yang kuat dan integrasi yang ketat dengan Rangka Kerja .NET, sesuai untuk pelbagai senario pembangunan dari aplikasi desktop ke perkhidmatan web.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa