




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第教你C#將CSV轉(zhuǎn)為Excel的實(shí)現(xiàn)方法CSV(CommaSeparatedValues)文件是一種純文本文件,包含用逗號(hào)分隔的數(shù)據(jù),常用于將數(shù)據(jù)從一個(gè)應(yīng)用程序?qū)牖驅(qū)С龅搅硪粋€(gè)應(yīng)用程序。通過將CSV文件轉(zhuǎn)為EXCEL,可執(zhí)行更多關(guān)于數(shù)據(jù)編輯、格式設(shè)置等操作。下面,將通過C#及VB.NET代碼展示如何來實(shí)現(xiàn)轉(zhuǎn)換。
一、程序環(huán)境
可通過以下途徑來安裝Excel庫(kù):
1.通過NuGet安裝Spire.XLS;
2.官方下載包,解壓安裝到本地指定路徑。在VisualStudio中打開解決方案資源管理器,將本地安裝路徑下Bin文件夾下的dll添加引用至程序。
二、將CSV轉(zhuǎn)為Excel
C#
usingSpire.Xls;
namespaceCSVtoExcel_XLS
classProgram
staticvoidMain(string[]args)
//加載CSV文件
Workbookworkbook=newWorkbook();
workbook.LoadFromFile("test.csv",",",1,1);
//獲取第一個(gè)工作表
Worksheetsheet=workbook.Worksheets[0];
//訪問工作表中使用的范圍
CellRangeusedRange=sheet.AllocatedRange;
//當(dāng)將范圍內(nèi)的數(shù)字保存為文本時(shí),忽略錯(cuò)誤
usedRange.IgnoreErrorOptions=IgnoreErrorType.NumberAsText;
//自適應(yīng)行高、列寬
usedRange.AutoFitColumns();
usedRange.AutoFitRows();
//保存文檔
workbook.SaveToFile("result.xlsx",ExcelVersion.Version2013);
System.Diagnostics.Process.Start("result.xlsx");
}
VB.NET
ImportsSpire.Xls
NamespaceCSVtoExcel_XLS
ClassProgram
PrivateSharedSubMain(argsAsString())
'加載CSV文件
DimworkbookAsNewWorkbook()
workbook.LoadFromFile("test.csv",",",1,1)
'獲取第一個(gè)工作表
DimsheetAsWorksheet=workbook.Worksheets(0)
'訪問工作表中使用的范圍
DimusedRangeAsCellRange=sheet.AllocatedRange
'當(dāng)將范圍內(nèi)的數(shù)字保存為文本時(shí),忽略錯(cuò)誤
usedRange.IgnoreErrorOptions=IgnoreErrorType.NumberAsText
'自適應(yīng)行高、列寬
usedRange.AutoFitColumns()
usedRange.AutoFitRows()
'保存文檔
workbook.SaveToFile("result.xlsx",ExcelVersion.Version2013)
System.Diagnostics.Process.Start("result.xlsx")
EndSub
EndClass
EndNamespace
補(bǔ)充知識(shí):C#.csv文件轉(zhuǎn)為Excel格式;Excel格式轉(zhuǎn)換為.csv,代碼如下所示:
usingSystem;
usingSystem.Diagnostics;
usingSystem.IO;
usingSystem.Reflection;
usingSystem.Windows.Forms;
usingExcel=Microsoft.Office.Interop.Excel;
namespaceWinFromAPP
publicpartialclassForm1:Form
publicForm1()
InitializeComponent();
///summary
///將Csv文件轉(zhuǎn)換為XLS文件
////summary
///paramname="FilePath"文件全路路徑/param
///returns返回轉(zhuǎn)換后的Xls文件名/returns
publicstaticstringCSVSaveasXLS(stringFilePath)
QuertExcel();
string_NewFilePath="";
Excel.ApplicationexcelApplication;
Excel.WorkbooksexcelWorkBooks=null;
Excel.WorkbookexcelWorkBook=null;
Excel.WorksheetexcelWorkSheet=null;
excelApplication=newExcel.ApplicationClass();
excelWorkBooks=excelApplication.Workbooks;
excelWorkBook=((Excel.Workbook)excelWorkBooks.Open(FilePath,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value));
excelWorkSheet=(Excel.Worksheet)excelWorkBook.Worksheets[1];
excelApplication.Visible=false;
excelApplication.DisplayAlerts=false;
_NewFilePath=FilePath.Replace(".csv",".xls");
excelWorkBook.SaveAs(_NewFilePath,Excel.XlFileFormat.xlAddIn,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Excel.XlSaveAsAccessMode.xlNoChange,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
excelWorkBook.Close();
QuertExcel();
//ExcelFormatHelper.DeleteFile(FilePath);
//可以不用殺掉進(jìn)程QuertExcel();
GC.Collect(System.GC.GetGeneration(excelWorkSheet));
GC.Collect(System.GC.GetGeneration(excelWorkBook));
GC.Collect(System.GC.GetGeneration(excelApplication));
catch(Exceptionexc)
thrownewException(exc.Message);
finally
GC.Collect();
return_NewFilePath;
///將xls文件轉(zhuǎn)換為csv文件
///returns返回轉(zhuǎn)換后的csv文件名/returns
publicstaticstringXLSSavesaCSV(stringFilePath)
_NewFilePath=FilePath.Replace(".xls",".csv");
//excelWorkSheet._SaveAs(FilePath,Excel.XlFileFormat.xlCSVWindows,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
excelWorkBook.SaveAs(_NewFilePath,Excel.XlFileFormat.xlCSV,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
//ExcelFormatHelper.DeleteFile(FilePath);
///刪除一個(gè)指定的文件
///paramname="FilePath"文件路徑/param
///returns/returns
publicstaticboolDeleteFile(stringFilePath)
boolIsFind=File.Exists(FilePath);
if(IsFind)
File.Delete(FilePath);
else
thrownewIOException("指定的文件不存在");
returntrue;
///執(zhí)行過程中可能會(huì)打開多個(gè)EXCEL文件所以殺掉
privatestaticvoidQuertExcel()
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T/JSSL 0001-2021排泥場(chǎng)泥水快速分離技術(shù)規(guī)范
- 山西工商學(xué)院《沙盤模擬實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津開發(fā)區(qū)職業(yè)技術(shù)學(xué)院《法律邏輯學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 曲靖一中2025屆高考決勝全真模擬卷(二)政治試題及答案
- 新生兒心律失常護(hù)理查房
- 電話禮儀考試題及答案
- 思睿嘉得java筆試面試題及答案
- 桁架鉗工考試題及答案
- java三大框架框架面試題及答案
- net的面試題及答案
- 患者發(fā)生過敏性休克應(yīng)急預(yù)案演練腳本模板
- 南京醫(yī)科大學(xué)招聘考試《綜合能力測(cè)試》真題及答案
- 封閉冷通道施工方案
- 2021年新高考全國(guó)1卷(含答案解析)
- 《觸不可及》影視鑒賞課件
- 認(rèn)知知覺障礙的作業(yè)治療概述(作業(yè)治療技術(shù)課件)
- 畢業(yè)論文與畢業(yè)設(shè)計(jì)指導(dǎo)課件
- 采購(gòu)合同一般采購(gòu)合同
- 形象管理(南開大學(xué))【超星爾雅學(xué)習(xí)通】章節(jié)答案
- 《鮮衣怒馬少年時(shí) 唐宋詩(shī)詞篇 全集 》讀書筆記PPT模板思維導(dǎo)圖下載
- 施工方案設(shè)計(jì)(宿舍樓裝修改造)
評(píng)論
0/150
提交評(píng)論