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

C#獲取Excel文件所有文本數(shù)據(jù)內(nèi)容的示例代碼

 更新時(shí)間:2024年07月30日 09:55:43   作者:初九之潛龍勿用  
獲取上傳的?EXCEL?文件的所有文本信息并存儲(chǔ)到數(shù)據(jù)庫里,可以進(jìn)一步實(shí)現(xiàn)對(duì)文件內(nèi)容資料關(guān)鍵字查詢的全文檢索,有助于我們定位相關(guān)文檔,本文詳細(xì)介紹了C#獲取Excel文件所有文本數(shù)據(jù)內(nèi)容實(shí)現(xiàn)步驟和代碼,需要的朋友可以參考下

功能需求

獲取上傳的 EXCEL 文件的所有文本信息并存儲(chǔ)到數(shù)據(jù)庫里,可以進(jìn)一步實(shí)現(xiàn)對(duì)文件內(nèi)容資料關(guān)鍵字查詢的全文檢索。有助于我們定位相關(guān)文檔,基本實(shí)現(xiàn)的步驟如下:

1、上傳 EXCEL 文件,獲取二進(jìn)制數(shù)據(jù)并創(chuàng)建副本文件。

2、將EXCEL 副本文件通過 COM API 導(dǎo)出到指定的文本文件。

3、獲取文本文件的內(nèi)容字符串并存儲(chǔ)到數(shù)據(jù)庫中。

范例運(yùn)行環(huán)境

操作系統(tǒng): Windows Server 2019 DataCenter

操作系統(tǒng)上安裝 Office Excel 2016

數(shù)據(jù)庫:Microsoft SQL Server 2016

.net版本: .netFramework4.7.1 或以上

開發(fā)工具:VS2019  C#

關(guān)鍵代碼

組件庫引入

獲取Excel文件的文本內(nèi)容

getExcelContent 方法返回 string 類型內(nèi)容,即表示EXCEL 文件的文本內(nèi)容,說明如下表:

序號(hào)參數(shù)名類型說明
1_filenamestring文件名為全路徑文件信息,方法會(huì)根據(jù)文件路徑創(chuàng)建_path+System.Guid.NewGuid()+".txt"  的臨時(shí)目標(biāo)文件路徑,導(dǎo)入EXCEL文件到 Excel Application ,使用 SAVEAS COM API 導(dǎo)出目標(biāo)文本文件,再獲文本文件內(nèi)容,刪除目標(biāo)文本臨時(shí)文件,將文件內(nèi)容字符串返回。

實(shí)現(xiàn)代碼如下:

public string getExcelContent(string _filename)
{
			Object Nothing=System.Reflection.Missing.Value;
 
			string _txtfile="",_path=Path.GetDirectoryName(_filename)+"\\",_ext="";
			if(!Directory.Exists(_path))
			{
				Directory.CreateDirectory(_path);
			}
 
		
			_txtfile=_path+System.Guid.NewGuid()+".txt";
 
			object filename=_filename;
			//創(chuàng)建一個(gè)名為ExcelApp的組件對(duì)象
			DateTime beforetime=DateTime.Now;
			Excel.Application excel=new Excel.Application();
			
			excel.DisplayAlerts=false;
			excel.AskToUpdateLinks=false;
 
			excel.Visible=true;
			
			DateTime aftertime=DateTime.Now;
 
			Excel.Workbook xb=excel.Workbooks.Add(filename);
			Worksheet worksheet = (Worksheet) excel.ActiveSheet;
			sheetCount=excel.Sheets.Count;
			worksheet.Activate();
			
 
			worksheet.SaveAs(@_txtfile,XlFileFormat.xlUnicodeText, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); 
			FileEx fe=new FileEx();
			excel.Workbooks.Close();
			string rv=fe.LoadFromFile(@_txtfile,Encoding.Unicode);
			File.Delete(@_txtfile);
 
 
 
			excel.Quit();
 
			if(worksheet != null)
			{
				System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
				worksheet = null;
			}
			if(xb != null)
			{
				System.Runtime.InteropServices.Marshal.ReleaseComObject(xb);
				xb = null;
			}
			if(excel != null)
			{
				System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
				excel = null;
			}
			GC.Collect();
			
 
			KillProcessByStartTime("EXCEL",beforetime,aftertime);
			return rv;
}
public string KillProcessByStartTime(string processName,DateTime beforetime,DateTime aftertime)
{
			Process[] ps = Process.GetProcesses();
			foreach (Process p in ps)  
			{
				if(p.ProcessName.ToUpper()!=processName) continue;
 
				if(p.StartTime > beforetime && p.StartTime < aftertime)
				{
					try
					{
						p.Kill();
					}
					catch(Exception e)
					{
						return e.Message;
					}
				}
			}  
			return "";
}

其中 KillProcessByStartTime 用于關(guān)閉未釋放的EXCEL應(yīng)用進(jìn)程。 

總結(jié)

以上代碼我們提供了一些操作 EXCEL 的API關(guān)鍵方法,后續(xù)我們可以將文本內(nèi)容存儲(chǔ)到數(shù)據(jù)庫中,查詢或下載,可以參考我的文章:

《C# 將 Word 轉(zhuǎn)文本存儲(chǔ)到數(shù)據(jù)庫并進(jìn)行管理》

關(guān)于 EXCEL 文件導(dǎo)出方法可參考如下官方文檔:

Worksheet.SaveAs 方法 (Excel) | Microsoft Learn

到此這篇關(guān)于C#獲取Excel文件所有文本數(shù)據(jù)內(nèi)容的示例代碼的文章就介紹到這了,更多相關(guān)C#獲取Excel數(shù)據(jù)內(nèi)容內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C# 線程同步詳解

    C# 線程同步詳解

    本文主要介紹了C#中線程同步的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • c# SqlFunc.IF使用方法小結(jié)

    c# SqlFunc.IF使用方法小結(jié)

    SqlFunc.IF是EF+庫中的一個(gè)功能,允許你在數(shù)據(jù)庫查詢中執(zhí)行條件邏輯,類似于SQL中的IF語句,本文就來詳細(xì)的介紹一下c# SqlFunc.IF使用方法,感興趣的可以了解一下
    2025-11-11
  • C#把DataTable導(dǎo)出為Excel文件

    C#把DataTable導(dǎo)出為Excel文件

    這篇文章介紹了C#把DataTable導(dǎo)出為Excel文件的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#實(shí)現(xiàn)手機(jī)拍照并且保存水印照片

    C#實(shí)現(xiàn)手機(jī)拍照并且保存水印照片

    這篇文章主要介紹了C#實(shí)現(xiàn)手機(jī)拍照并且保存水印照片的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • C#/VB.NET 自定義PPT動(dòng)畫路徑的步驟

    C#/VB.NET 自定義PPT動(dòng)畫路徑的步驟

    這篇文章主要介紹了C#/VB.NET 自定義PPT動(dòng)畫路徑的步驟,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-05-05
  • C#中using語句的用法

    C#中using語句的用法

    這篇文章介紹了C#中using語句的用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • C#自定義畫刷原理解析

    C#自定義畫刷原理解析

    這篇文章主要為大家詳細(xì)介紹了C#自定義畫刷原理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C# 獲取枚舉值的簡單實(shí)例

    C# 獲取枚舉值的簡單實(shí)例

    這篇文章介紹了C# 獲取枚舉值的簡單實(shí)例,有需要的朋友可以參考一下
    2013-09-09
  • C#從XmlDocument提取完整字符串的方法

    C#從XmlDocument提取完整字符串的方法

    文章介紹了兩種生成格式化XML字符串的方法,方法一使用`XmlDocument`的`OuterXml`屬性,但輸出的XML字符串不帶格式,可讀性差,方法二利用`XmlWriterSettings`控制格式,并通過`MemoryStream`作為輸出流,可以自定義編碼,如UTF-8,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • WPF利用ScottPlot實(shí)現(xiàn)動(dòng)態(tài)繪制圖像

    WPF利用ScottPlot實(shí)現(xiàn)動(dòng)態(tài)繪制圖像

    ScottPlot是基于.Net的一款開源免費(fèi)的交互式可視化庫,支持Winform和WPF等UI框架,本文主要為大家詳細(xì)介紹了如何WPF如何使用ScottPlot實(shí)現(xiàn)動(dòng)態(tài)繪制圖像,需要的可以參考下
    2023-12-12

最新評(píng)論

宁津县| 秦皇岛市| 罗平县| 贡嘎县| 南充市| 金昌市| 广宁县| 绍兴市| 古蔺县| 宝丰县| 贵溪市| 团风县| 韩城市| 通许县| 万载县| 祥云县| 聊城市| 信宜市| 文昌市| 贵定县| 康马县| 凤庆县| 三河市| 裕民县| 兰溪市| 东丰县| 天台县| 通辽市| 永寿县| 偃师市| 兰州市| 仙居县| 镇坪县| 晋江市| 英超| 巴青县| 商水县| 巴楚县| 陆川县| 平邑县| 泌阳县|