最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#使用OleDb操作Excel和數(shù)據(jù)庫(kù)的策略

 更新時(shí)間:2024年05月11日 09:18:46   作者:Damon小智  
在C#編程中,使用OleDb可以方便地實(shí)現(xiàn)對(duì)Excel文件和數(shù)據(jù)庫(kù)的操作,本文探討了在C#中使用OleDb技術(shù)操作Excel和數(shù)據(jù)庫(kù)的策略,文章詳述了OleDb的定義、配置環(huán)境的步驟,并通過(guò)實(shí)際代碼示例演示了如何高效讀寫(xiě)Excel文件和交互數(shù)據(jù)庫(kù),需要的朋友可以參考下

前言

在C#編程中,使用OleDb可以方便地實(shí)現(xiàn)對(duì)Excel文件和數(shù)據(jù)庫(kù)的操作。本文探討了在C#中使用OleDb技術(shù)操作Excel和數(shù)據(jù)庫(kù)的策略。文章詳述了OleDb的定義、配置環(huán)境的步驟,并通過(guò)實(shí)際代碼示例演示了如何高效讀寫(xiě)Excel文件和交互數(shù)據(jù)庫(kù)。文中還評(píng)估了OleDb技術(shù)的優(yōu)缺點(diǎn),為需要處理多種數(shù)據(jù)源的開(kāi)發(fā)者提供了一種有效的數(shù)據(jù)操作方案。

一、OleDb簡(jiǎn)介

OleDb(Object Linking and Embedding, Database)是微軟的一套數(shù)據(jù)庫(kù)訪問(wèn)接口,支持對(duì)多種數(shù)據(jù)源的訪問(wèn),包括SQL Server、Access以及Excel等。它提供了一種統(tǒng)一的方法來(lái)訪問(wèn)不同的數(shù)據(jù)源。在.NET環(huán)境下,OleDb可以通過(guò)System.Data.OleDb命名空間提供的類來(lái)使用。

二、OleDb安裝前準(zhǔn)備

1. 環(huán)境準(zhǔn)備

.NET Framework: 確保您的開(kāi)發(fā)環(huán)境中安裝了.NET Framework,因?yàn)镺leDb類庫(kù)是基于.NET Framework的。

引用設(shè)置: 在Visual Studio中,需要添加對(duì)System.Data.dll的引用,以確保項(xiàng)目可以使用System.Data.OleDb命名空間。

2. 安裝相應(yīng)的驅(qū)動(dòng)

使用 OLE DB 操作數(shù)據(jù)庫(kù)或 Excel 時(shí),你需要確保安裝了適當(dāng)?shù)?OLE DB 驅(qū)動(dòng)程序,這取決于你要連接的具體數(shù)據(jù)庫(kù)系統(tǒng)。每種數(shù)據(jù)庫(kù)系統(tǒng)都可能有一個(gè)或多個(gè)專用的 OLE DB 驅(qū)動(dòng),這些驅(qū)動(dòng)允許應(yīng)用程序通過(guò) OLE DB 接口與數(shù)據(jù)庫(kù)通信。

Excel 的 OLE DB 驅(qū)動(dòng):

對(duì)于Excel文件的數(shù)據(jù)操作,你可以使用Microsoft提供的OLE DB驅(qū)動(dòng)來(lái)進(jìn)行讀取和寫(xiě)入操作。這些驅(qū)動(dòng)允許通過(guò)OLE DB接口與Excel文件進(jìn)行交互。具體使用的驅(qū)動(dòng)取決于Excel文件的版本和你的系統(tǒng)類型(32位或64位)。

①M(fèi)icrosoft Access Database Engine OLE DB Provider

  • 適用版本:Excel 2007 及更高版本的文件(.xlsx)。
  • 驅(qū)動(dòng)名稱
    • 對(duì)于舊版本或需要兼容性的,可以使用 Microsoft.ACE.OLEDB.12.0。
    • 對(duì)于更高版本的Office,可以使用 Microsoft.ACE.OLEDB.16.0

②Microsoft Jet OLE DB Provider

  • 適用版本:Excel 2003 及更早版本的文件(.xls)。
  • 驅(qū)動(dòng)名稱Microsoft.Jet.OLEDB.4.0
  • 注意:這個(gè)驅(qū)動(dòng)僅支持32位系統(tǒng)。

驅(qū)動(dòng)下載地址

Access Database Engine最新版本下載地址:(https://learn.microsoft.com/zh-cn/sql/connect/oledb/download-oledb-driver-for-sql-server?view=sql-server-ver16);
Access Database Engine歷史版本(16及之后)下載地址:(https://learn.microsoft.com/zh-cn/sql/connect/oledb/release-notes-for-oledb-driver-for-sql-server?view=sql-server-ver16#previous-releases);

已經(jīng)絕版的Microsoft.Jet.OLEDB.4.0(2007 Office system 驅(qū)動(dòng)程序)下載地址:microsoft.ace.oledb.12.0 | Microsoft Learn

安裝流程

未安裝Microsoft.ACE.OLEDB.12.0驅(qū)動(dòng)報(bào)錯(cuò)的截圖。

在這里插入圖片描述

下載Microsoft.ACE.OLEDB.12.0驅(qū)動(dòng)安裝程序。

在這里插入圖片描述

點(diǎn)擊安裝。

在這里插入圖片描述

選擇安裝路徑。

在這里插入圖片描述

安裝完成。

在這里插入圖片描述

常見(jiàn)數(shù)據(jù)庫(kù)的 OLE DB 驅(qū)動(dòng):

①M(fèi)icrosoft SQL Server

Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL):是當(dāng)前推薦的驅(qū)動(dòng),支持最新的SQL Server功能。SQL Server Native Client (SQLNCLI):舊版本的驅(qū)動(dòng),依然廣泛使用,但可能不支持最新的數(shù)據(jù)庫(kù)功能。

②Microsoft Access

Microsoft Access Database Engine OLE DB Provider (ACEOLEDB):適用于 Access 2007 及以上版本。Microsoft Jet OLE DB Provider (Jet.OLEDB):用于 Access 2003 及更早版本。

③Oracle

Oracle Provider for OLE DB:Oracle 官方提供的 OLE DB 驅(qū)動(dòng)。

④MySQL

MySQL 官方?jīng)]有直接提供專用的 OLE DB 驅(qū)動(dòng),通常推薦使用 ODBC 驅(qū)動(dòng)或第三方提供的 OLE DB 驅(qū)動(dòng)。

⑤PostgreSQL

類似于 MySQL,PostgreSQL 官方也沒(méi)有提供 OLE DB 驅(qū)動(dòng)。推薦使用 ODBC 驅(qū)動(dòng)或第三方提供的 OLE DB 驅(qū)動(dòng)。

確保驅(qū)動(dòng)安裝正確并且連接字符串配置適當(dāng)是成功使用 OLE DB 的關(guān)鍵。不正確的驅(qū)動(dòng)安裝或配置可能導(dǎo)致連接失敗或數(shù)據(jù)訪問(wèn)錯(cuò)誤。

三、OleDb操作EXCEL

1. 連接字符串

連接Excel文件時(shí),您的連接字符串會(huì)略有不同,這取決于Excel文件的版本(例如Excel 97-2003工作簿.xls與Excel 工作簿.xlsx):

  • 對(duì)于.xls文件:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=路徑;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";
  • 對(duì)于.xlsx文件:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=路徑;Extended Properties="Excel 12.0 Xml;HDR=Yes;IMEX=1";

2. 讀取數(shù)據(jù)

使用OleDb讀取Excel文件通常涉及以下步驟:

  • 創(chuàng)建OleDbConnection對(duì)象來(lái)建立到Excel文件的連接。
  • 創(chuàng)建OleDbCommand對(duì)象來(lái)定義要執(zhí)行的SQL查詢。
  • 創(chuàng)建OleDbDataAdapter和DataSet,用于接收查詢結(jié)果。
  • 執(zhí)行查詢并填充DataSet,之后可以通過(guò)DataTable對(duì)象來(lái)操作數(shù)據(jù)。
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\\path\\to\\file.xlsx;Extended Properties='Excel 12.0 Xml;HDR=YES;'";
using(OleDbConnection conn = new OleDbConnection(connectionString))
{
    conn.Open();
    OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", conn);
    OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
    DataSet ds = new DataSet();
    adapter.Fill(ds);
    DataTable data = ds.Tables[0];
    // 數(shù)據(jù)現(xiàn)在存儲(chǔ)在data中,可以進(jìn)行進(jìn)一步處理
}

3. 寫(xiě)入數(shù)據(jù)

要向Excel文件寫(xiě)入數(shù)據(jù),可以使用OleDbConnectionOleDbCommand對(duì)象。

下面示例展示了如何打開(kāi)一個(gè)連接,單條寫(xiě)入數(shù)據(jù)到Excel表格中。

using (OleDbConnection conn = new OleDbConnection(connectionString))
{
    conn.Open();  // 打開(kāi)連接

    // 構(gòu)建插入命令
    OleDbCommand cmd = new OleDbCommand("INSERT INTO [Sheet1$] (Column1, Column2) VALUES ('Value1', 'Value2')", conn);

    // 執(zhí)行插入命令
    cmd.ExecuteNonQuery();

    // 關(guān)閉連接
    conn.Close();
}

如果需要向Excel文件批量寫(xiě)入數(shù)據(jù),可以構(gòu)建多個(gè)INSERT語(yǔ)句,或使用OleDbDataAdapterDataTable,通過(guò)調(diào)整DataTable中的數(shù)據(jù)然后調(diào)用Update()方法來(lái)實(shí)現(xiàn)。

DataTable dt = new DataTable();
// 假設(shè)dt已經(jīng)被填充了數(shù)據(jù)
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
    OleDbDataAdapter adapter = new OleDbDataAdapter();
    adapter.InsertCommand = new OleDbCommand("INSERT INTO [Sheet1$] (Column1, Column2) VALUES (?, ?)", conn);
    adapter.InsertCommand.Parameters.Add("@Column1", OleDbType.VarChar, 255, "Column1");
    adapter.InsertCommand.Parameters.Add("@Column2", OleDbType.VarChar, 255, "Column2");

    conn.Open();
    adapter.Update(dt);  // 更新Excel文件
    conn.Close();
}

這種方法特別適合處理大量數(shù)據(jù),可以顯著提高數(shù)據(jù)插入的效率。

四、OleDb操作數(shù)據(jù)庫(kù)

使用OLE DB進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)(包括增加、刪除、修改和查詢操作)涉及到幾個(gè)關(guān)鍵的.NET類,主要是OleDbConnection、OleDbCommand、OleDbDataAdapterOleDbDataReader。下面是一個(gè)使用OLE DB來(lái)執(zhí)行增刪改查(CRUD:Create, Read, Update, Delete)操作的基本示例,這里假設(shè)數(shù)據(jù)庫(kù)是一個(gè)簡(jiǎn)單的Microsoft Access數(shù)據(jù)庫(kù)或其他支持OLE DB的數(shù)據(jù)庫(kù)。

1. OleDb實(shí)現(xiàn)數(shù)據(jù)增刪改查

代碼示例

using System;
using System.Data;
using System.Data.OleDb;

class Program
{
    static void Main()
    {
        string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\yourdatabase.mdb;";

        // 創(chuàng)建一個(gè)新的OleDbConnection,并將其封裝在using語(yǔ)句中以確保資源的釋放
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            connection.Open();

            // 創(chuàng)建(Create)
            using (OleDbCommand command = new OleDbCommand("INSERT INTO Employees (FirstName, LastName) VALUES ('John', 'Doe')", connection))
            {
                command.ExecuteNonQuery();
            }

            // 讀?。≧ead)
            using (OleDbCommand command = new OleDbCommand("SELECT FirstName, LastName FROM Employees", connection))
            using (OleDbDataReader reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    Console.WriteLine($"{reader["FirstName"]} {reader["LastName"]}");
                }
            }

            // 更新(Update)
            using (OleDbCommand command = new OleDbCommand("UPDATE Employees SET LastName = 'Smith' WHERE FirstName = 'John'", connection))
            {
                command.ExecuteNonQuery();
            }

            // 刪除(Delete)
            using (OleDbCommand command = new OleDbCommand("DELETE FROM Employees WHERE FirstName = 'John'", connection))
            {
                command.ExecuteNonQuery();
            }
        }
    }
}

解釋

  • 連接字符串 (connectionString): 指定了OLE DB提供者、數(shù)據(jù)庫(kù)文件路徑等信息。
  • OleDbConnection: 用于建立與數(shù)據(jù)庫(kù)的連接。
  • OleDbCommand: 用于執(zhí)行SQL命令。
  • OleDbDataReader: 用于讀取從數(shù)據(jù)庫(kù)返回的結(jié)果。

注意事項(xiàng)

  • 確保修改連接字符串以匹配你的數(shù)據(jù)庫(kù)設(shè)置。
  • 這個(gè)例子中使用的是Microsoft Access的OLE DB提供者 (Microsoft.Jet.OLEDB.4.0),你可能需要根據(jù)你的數(shù)據(jù)庫(kù)類型調(diào)整提供者。
  • 確保數(shù)據(jù)庫(kù)路徑、SQL語(yǔ)句和數(shù)據(jù)庫(kù)表結(jié)構(gòu)與示例代碼中的相符。

2. OleDb實(shí)現(xiàn)事務(wù)管理

OLE DB 允許你通過(guò)OleDbTransaction來(lái)控制事務(wù),這樣可以確保數(shù)據(jù)的完整性和一致性。在一個(gè)事務(wù)中,你可以執(zhí)行多個(gè)操作,要么全部成功,要么全部失敗,從而避免數(shù)據(jù)不一致的情況出現(xiàn)。

代碼示例

using System;
using System.Data;
using System.Data.OleDb;

class Program
{
    static void Main()
    {
        string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\yourdatabase.mdb;";
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            connection.Open();
            OleDbTransaction transaction = connection.BeginTransaction();

            try
            {
                OleDbCommand command = connection.CreateCommand();
                command.Transaction = transaction;

                command.CommandText = "INSERT INTO Table1 (Column1) VALUES ('Value1')";
                command.ExecuteNonQuery();

                command.CommandText = "INSERT INTO Table2 (Column2) VALUES ('Value2')";
                command.ExecuteNonQuery();

                // 提交事務(wù)
                transaction.Commit();
                Console.WriteLine("Both records are written to database.");
            }
            catch (Exception ex)
            {
                // 回滾事務(wù)
                transaction.Rollback();
                Console.WriteLine("There was an error, transaction was rolled back.");
                Console.WriteLine(ex.Message);
            }
        }
    }
}

這個(gè)示例展示了如何使用事務(wù)來(lái)確保數(shù)據(jù)的一致性,只有當(dāng)所有操作都成功時(shí)才提交事務(wù),否則回滾所有操作。這是數(shù)據(jù)庫(kù)操作中一個(gè)非常重要的高級(jí)功能。

3. OleDb實(shí)現(xiàn)異步操作

在.NET中,使用OLE DB進(jìn)行異步數(shù)據(jù)庫(kù)操作可以通過(guò)多種方式實(shí)現(xiàn),比如使用Taskasync/await模式。

代碼示例

using System;
using System.Data;
using System.Data.OleDb;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\yourdatabase.mdb;";
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            await connection.OpenAsync();

            using (OleDbCommand command = new OleDbCommand("SELECT * FROM Employees", connection))
            {
                using (OleDbDataReader reader = (OleDbDataReader)await command.ExecuteReaderAsync())
                {
                    while (await reader.ReadAsync())
                    {
                        Console.WriteLine($"{reader["FirstName"]} {reader["LastName"]}");
                    }
                }
            }
        }
    }
}

在這個(gè)例子中,OpenAsync, ExecuteReaderAsync, 和 ReadAsync 方法被用來(lái)異步打開(kāi)連接、執(zhí)行查詢和讀取結(jié)果。這種方法非常適合用在需要維護(hù)應(yīng)用程序響應(yīng)性的場(chǎng)景中,比如GUI應(yīng)用程序或者高負(fù)載Web應(yīng)用程序。

4. OleDb調(diào)用存儲(chǔ)過(guò)程

代碼示例

using System;
using System.Data;
using System.Data.OleDb;

class Program
{
    static void Main()
    {
        string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\yourdatabase.mdb;";
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            connection.Open();

            using (OleDbCommand command = new OleDbCommand("GetEmployeeDetails", connection))
            {
                command.CommandType = CommandType.StoredProcedure;

                // 添加輸入?yún)?shù)
                command.Parameters.AddWithValue("@EmployeeId", 1);

                // 如果存儲(chǔ)過(guò)程有返回值
                command.Parameters.Add(new OleDbParameter("@ReturnValue", OleDbType.VarChar, 100));
                command.Parameters["@ReturnValue"].Direction = ParameterDirection.Output;

                command.ExecuteNonQuery();

                // 讀取輸出參數(shù)的值
                string result = command.Parameters["@ReturnValue"].Value.ToString();
                Console.WriteLine("Result: " + result);
            }
        }
    }
}

這個(gè)示例展示了如何調(diào)用名為"GetEmployeeDetails"的存儲(chǔ)過(guò)程,它假定此存儲(chǔ)過(guò)程接收一個(gè)名為@EmployeeId的輸入?yún)?shù),并返回一些數(shù)據(jù)。在實(shí)際應(yīng)用中,你需要根據(jù)實(shí)際存儲(chǔ)過(guò)程的定義來(lái)調(diào)整參數(shù)的名稱和類型。

五、OleDb操作總結(jié)

1. OleDb和其他數(shù)據(jù)庫(kù)操作方式的對(duì)比

特性OleDbADO.NET(SqlClient等)Entity Framework
數(shù)據(jù)庫(kù)支持支持多種數(shù)據(jù)庫(kù),包括SQL Server、Oracle等特定于數(shù)據(jù)庫(kù)(如SqlClient針對(duì)SQL Server)支持多種數(shù)據(jù)庫(kù)
性能通常較慢,因?yàn)樗峁┝艘粚映橄?/td>直接與數(shù)據(jù)庫(kù)通信,性能較高高級(jí)抽象,性能優(yōu)化可變
操作方式低級(jí),需要手動(dòng)編寫(xiě)SQL語(yǔ)句和管理連接低級(jí),同樣需要手動(dòng)處理SQL和連接高級(jí)抽象,自動(dòng)處理SQL
代碼復(fù)雜性較高,需要處理更多的細(xì)節(jié)較高,類似OleDb較低,簡(jiǎn)化數(shù)據(jù)操作
平臺(tái)依賴性較高,依賴于安裝的OLE DB提供程序較低,通常內(nèi)置支持較低,內(nèi)置支持
設(shè)計(jì)目的數(shù)據(jù)訪問(wèn)的通用解決方案,兼容性好針對(duì)特定數(shù)據(jù)庫(kù)的優(yōu)化訪問(wèn)全面的ORM解決方案

2. OleDb和其他Excel操作方式的對(duì)比

特性OleDbExcel InteropEPPlus等第三方庫(kù)
系統(tǒng)要求需要安裝OLE DB驅(qū)動(dòng)需要安裝Microsoft Office無(wú)額外安裝要求
性能中等,適合中小規(guī)模數(shù)據(jù)處理較慢,尤其是大量數(shù)據(jù)時(shí)較快,針對(duì)大數(shù)據(jù)進(jìn)行了優(yōu)化
操作復(fù)雜性高,需要編寫(xiě)SQL語(yǔ)句高,需要使用Office COM API低,簡(jiǎn)潔的API
功能豐富性適合簡(jiǎn)單的數(shù)據(jù)讀寫(xiě)功能豐富,可以操作Excel的幾乎所有特性功能豐富,專注于數(shù)據(jù)處理
編程模型通過(guò)SQL語(yǔ)句訪問(wèn)數(shù)據(jù)直接操作Excel對(duì)象模型使用類似Excel的對(duì)象模型
處理復(fù)雜文檔能力限制較多,不適合處理復(fù)雜的Excel文件格式非常適合處理復(fù)雜文檔較適合處理數(shù)據(jù)密集型文檔

3. OleDb操作總結(jié)

  • 通用性:OleDb提供了一個(gè)廣泛的數(shù)據(jù)庫(kù)訪問(wèn)解決方案,支持多種數(shù)據(jù)庫(kù)系統(tǒng)。這使得它非常適合需要與多種數(shù)據(jù)源交互的應(yīng)用程序。
  • 性能考慮:由于OleDb提供了一個(gè)通用的接口,可能在性能上不如專用的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù),如直接使用SqlClient等。
  • 適用場(chǎng)景:OleDb非常適合那些不需要高性能數(shù)據(jù)庫(kù)交互,但需要與多種數(shù)據(jù)庫(kù)兼容的應(yīng)用程序。對(duì)于簡(jiǎn)單的Excel數(shù)據(jù)操作也很有用,尤其是在沒(méi)有安裝Excel的服務(wù)器環(huán)境中。
  • 編程復(fù)雜性:使用OleDb進(jìn)行數(shù)據(jù)庫(kù)操作通常需要較為復(fù)雜的代碼來(lái)管理連接、執(zhí)行SQL命令等,不如某些現(xiàn)代ORM框架(如Entity Framework)提供的抽象級(jí)別高。

總的來(lái)說(shuō),OleDb是一個(gè)非常強(qiáng)大的工具,特別是在需要操作多種數(shù)據(jù)源的情況下。然而,對(duì)于特定的應(yīng)用需求,使用更現(xiàn)代和專用的庫(kù)可能會(huì)更加高效和簡(jiǎn)潔。

以上就是C#使用OleDb操作Excel和數(shù)據(jù)庫(kù)的策略的詳細(xì)內(nèi)容,更多關(guān)于C# OleDb操作Excel和數(shù)據(jù)庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 淺析C#中的AsnycLocal與ThreadLocal

    淺析C#中的AsnycLocal與ThreadLocal

    這篇文章主要給大家介紹了關(guān)于C#中AsnycLocal與ThreadLocal的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-09-09
  • C#計(jì)算字符串相似性的方法

    C#計(jì)算字符串相似性的方法

    這篇文章主要介紹了C#計(jì)算字符串相似性的方法,實(shí)例分析了C#計(jì)算字符串相似性的原理與算法實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • C#實(shí)現(xiàn)的文件批量重命名功能示例

    C#實(shí)現(xiàn)的文件批量重命名功能示例

    這篇文章主要介紹了C#實(shí)現(xiàn)的文件批量重命名功能,結(jié)合具體實(shí)例形式分析了C#針對(duì)文件的遍歷、屬性修改相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • C#實(shí)現(xiàn)老板鍵功能的代碼

    C#實(shí)現(xiàn)老板鍵功能的代碼

    最近在做項(xiàng)目中遇到需要增加個(gè)老板鍵功能,找一慣的方式,開(kāi)始從網(wǎng)絡(luò)下手尋找: 關(guān)鍵字類似”C# 老板鍵“,一搜,一堆又一堆,然而出來(lái)的代碼大多數(shù)都不是太合適,下面給大家分享下自己的解決方案已經(jīng)一個(gè)網(wǎng)友的解決方案,有需要的小伙伴可以參考下。
    2015-05-05
  • C#/VB.NET?將Word與Excel文檔轉(zhuǎn)化為T(mén)ext

    C#/VB.NET?將Word與Excel文檔轉(zhuǎn)化為T(mén)ext

    這篇文章主要介紹了C#/VB.NET?將Word與Excel文檔轉(zhuǎn)化為T(mén)ext,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-08-08
  • C#使用Stack類進(jìn)行堆棧設(shè)計(jì)詳解

    C#使用Stack類進(jìn)行堆棧設(shè)計(jì)詳解

    C#中的堆棧由System.Collections.Generic命名空間中的Stack類定義,那么下面就跟隨小編一起學(xué)習(xí)一下C#如何Stack類進(jìn)行堆棧設(shè)計(jì)吧
    2024-03-03
  • C#的四個(gè)基本技巧

    C#的四個(gè)基本技巧

    C#的四個(gè)基本技巧...
    2007-03-03
  • C# 串口接收數(shù)據(jù)中serialPort.close()死鎖的實(shí)例

    C# 串口接收數(shù)據(jù)中serialPort.close()死鎖的實(shí)例

    下面小編就為大家分享一篇C# 串口接收數(shù)據(jù)中serialPort.close()死鎖的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • C# 9 新特性——record的相關(guān)總結(jié)

    C# 9 新特性——record的相關(guān)總結(jié)

    這篇文章主要介紹了C# 9 新特性——record的相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用c# 9的新特性,感興趣的朋友可以了解下
    2021-02-02
  • C#使用委托(delegate)實(shí)現(xiàn)在兩個(gè)form之間傳遞數(shù)據(jù)的方法

    C#使用委托(delegate)實(shí)現(xiàn)在兩個(gè)form之間傳遞數(shù)據(jù)的方法

    這篇文章主要介紹了C#使用委托(delegate)實(shí)現(xiàn)在兩個(gè)form之間傳遞數(shù)據(jù)的方法,涉及C#委托的使用技巧,需要的朋友可以參考下
    2015-04-04

最新評(píng)論

东丰县| 宜兰市| 栾川县| 宣城市| 鄂州市| 文昌市| 重庆市| 诸城市| 永修县| 潞城市| 扶沟县| 三河市| 毕节市| 集贤县| 荥经县| 哈密市| 南安市| 错那县| 淮安市| 小金县| 大关县| 黎川县| 丰台区| 丁青县| 定州市| 永和县| 万荣县| 娱乐| 霞浦县| 金湖县| 登封市| 屯门区| 凤庆县| 崇州市| 久治县| 博野县| 金昌市| 洛隆县| 南乐县| 通榆县| 麟游县|