C#實戰012:Excel操作-獲取Excel某一行資料並存入陣列
阿新 • • 發佈:2018-12-20
前面獲取了Excel某一列資料並存入陣列,接著我們繼續獲取Excel某一行資料並存入陣列,方法基本一致,就一點小小的改動,以下是完整的程式碼:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Office.Interop.Excel; using System.Diagnostics; using System.Reflection; namespace ConsoleApplication3 { class EditExcel { #region 獲取Excel某行資料 /// <summary> /// 獲取Excel某行資料 /// </summary> public List<string> RowDB = new List<string>(); public void getRowDB(string ExcelName) { //建立 Excel物件 Application App = new Application(); //獲取缺少的object型別值 object missing = Missing.Value; //開啟指定的Excel檔案 Workbook openwb = App.Workbooks.Open(ExcelName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); //獲取選選擇的工作表 Worksheet ws = ((Worksheet)openwb.Worksheets["Sheet1"]);//方法一:指定工作表名稱讀取 //Worksheet ws = (Worksheet)openwb.Worksheets.get_Item(1);//方法二:通過工作表下標讀取 //獲取工作表中的行數 int rows = ws.UsedRange.Rows.Count; //獲取工作表中的列數 int columns = ws.UsedRange.Columns.Count; Console.WriteLine("請輸入你要獲取哪行資料:"); int row = Convert.ToInt16(Console.ReadLine()); //提取對應行列的資料並將其存入陣列中 for (int i = 1; i < columns; i++) { string a = ((Range)ws.Cells[row, i]).Text.ToString(); Console.WriteLine("讀取的資料:" + a);//測試是否獲得資料 RowDB.Add(a); } //遍歷陣列 foreach (string db in RowDB) { Console.WriteLine("列表中的資料" + db);//檢視陣列中的資料,測試是否儲存成功 } Console.ReadLine(); App.DisplayAlerts = false;//不現實提示對話方塊 openwb.Close(false, missing, missing);//關閉工作表 App.Quit();//退出Excel } #endregion } }
改動的部分,方法簡單好記:
public List<string> RowDB = new List<string>(); Console.WriteLine("請輸入你要獲取哪行資料:"); int row = Convert.ToInt16(Console.ReadLine()); //提取對應行列的資料並將其存入陣列中 for (int i = 1; i < columns; i++) { string a = ((Range)ws.Cells[row, i]).Text.ToString(); Console.WriteLine("讀取的資料:" + a);//測試是否獲得資料 RowDB.Add(a); }