亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#利用Openxml讀取Excel數據實例

2020-01-24 02:23:45
字體:
來源:轉載
供稿:網友

本文實例講述了C#利用Openxml讀取Excel數據的方法,分享給大家供大家參考。具體分析如下:

這里有些問題,如果當Cell 里面是 日期和浮點型的話,對應的Cell.DataType==Null,對應的時間會轉換為一個浮點型,對于這塊可以通過DateTime.FromOADate(double d)轉換為時間。 可是缺點的地方就是,如果Cell.DataType ==NULL, 根本無法確認這個數據到底是 浮點型還是[被轉換為了日期的浮點數]。查閱了很多國外資料,的確國外博客有一部分都反映了。有關Openxml讀取Excel時Cell.DataType==NULL的問題。本例子沒考慮那個問題,現在還沒解決。等后面查詢到更詳細的資料再解決。

其次解決這個問題的方法只有,在數據處理的時候,數據分析我們是可以知道這一列的數據到底是什么類型,然后根據自己的需求,自己對獲取的數據做相應轉換處理。不過如果使用OleDb的Select語句來讀取Excel的時候,就不會出現這個問題,讀取到Datable時候是日期就不會轉換為浮點型數據。而且對象的Datable對于的那個單元格數據還可以直接強制轉換為DateTime。不過用OleDB讀取數據感覺上應該沒有Openxml目前還沒測試大數據,太晚了。該sleep了。如果有大神了解Openxml讀取表格,請指點[需要解決問題是:EXCEL的表格中CELL 的 DateTime類型和浮點類型數據,在獲取后如何區分。因為使用Openxml獲取后日期會被自動轉換為浮點型]

參考代碼如下:

using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text;using System.Threading.Tasks;using DocumentFormat.OpenXml.Packaging;using DocumentFormat.OpenXml.Spreadsheet;namespace ReadExcel{  public class Program  {    static void Main(string[] args)    {      DataTable dt = new DataTable();      using (SpreadsheetDocument spreadSheetDocument = SpreadsheetDocument.Open(@"Test.xlsx", false))      {        WorkbookPart workbookPart = spreadSheetDocument.WorkbookPart;        IEnumerable<Sheet> sheets = spreadSheetDocument.WorkbookPart.Workbook.GetFirstChild<Sheets>().Elements<Sheet>();        string relationshipId = sheets.First().Id.Value = sheets.First(x => x.Name == "TestSheet").Id.Value;        WorksheetPart worksheetPart = (WorksheetPart)spreadSheetDocument.WorkbookPart.GetPartById(relationshipId);        Worksheet workSheet = worksheetPart.Worksheet;        SheetData sheetData = workSheet.GetFirstChild<SheetData>();        Row[] rows = sheetData.Descendants<Row>().ToArray();        // 設置表頭DataTable        foreach (Cell cell in rows.ElementAt(0))        {          dt.Columns.Add((string)GetCellValue(spreadSheetDocument, cell));        }        // 添加內容        for (int rowIndex = 1; rowIndex < rows.Count(); rowIndex++)        {          DataRow tempRow = dt.NewRow();          for (int i = 0; i < rows[rowIndex].Descendants<Cell>().Count(); i++)          {            tempRow[i] = GetCellValue(spreadSheetDocument, rows[rowIndex].Descendants<Cell>().ElementAt(i));          }          dt.Rows.Add(tempRow);        }      }      Console.ReadKey();    }    public static string GetCellValue(SpreadsheetDocument document, Cell cell)    {      SharedStringTablePart stringTablePart = document.WorkbookPart.SharedStringTablePart;      string value = cell.CellValue.InnerXml;      if (cell.DataType != null && (cell.DataType.Value == CellValues.SharedString || cell.DataType.Value == CellValues.String || cell.DataType.Value == CellValues.Number))      {        return stringTablePart.SharedStringTable.ChildElements[Int32.Parse(value)].InnerText;      }      else //浮點數和日期對應的cell.DataType都為NULL      {        // DateTime.FromOADate((double.Parse(value)); 如果確定是日期就可以直接用過該方法轉換為日期對象,可是無法確定DataType==NULL的時候這個CELL 數據到底是浮點型還是日期.(日期被自動轉換為浮點        return value;      }    }  }}

希望本文所述對大家的C#程序設計有所幫助.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av色在线| 91av视频在线播放| 精品少妇v888av| 国产精品久久久91| 亚洲成人av在线播放| 久久精品小视频| 97av在线视频| 亚洲国产日韩一区| 亚洲xxx大片| 久久综合久中文字幕青草| 欧美日韩中文字幕在线视频| xxx欧美精品| 亚洲一区999| 91免费看国产| 激情亚洲一区二区三区四区| 一本久久综合亚洲鲁鲁| 中文字幕精品在线| 久久久精品免费| 7m第一福利500精品视频| 国内精品久久久久伊人av| 亚洲性夜色噜噜噜7777| 97视频免费在线观看| 亚洲欧美中文字幕| 日韩高清免费观看| 97人人做人人爱| 激情懂色av一区av二区av| 日韩av三级在线观看| 亚洲理论电影网| 色哟哟入口国产精品| 91精品国产高清久久久久久久久| 欧美性理论片在线观看片免费| 91免费在线视频网站| 日韩av电影院| 国产精品678| 精品国产一区二区三区久久久| 亚洲第一偷拍网| 国产精品日韩电影| 久久久久久九九九| 亚洲一区二区免费在线| 最近2019中文字幕一页二页| 成人在线一区二区| 美女国内精品自产拍在线播放| 美女国内精品自产拍在线播放| 国产日产久久高清欧美一区| 91九色在线视频| 亚洲在线第一页| 欧美日韩国产色视频| 3344国产精品免费看| 亚洲国产日韩欧美综合久久| 亚洲成人动漫在线播放| 热久久这里只有| 欧美超级免费视 在线| 91视频九色网站| 欧美精品在线网站| 永久555www成人免费| 国产成人亚洲精品| 亚洲精品国精品久久99热| 亚洲精品欧美日韩| 伊人成人开心激情综合网| 久久久久久久久久久亚洲| 日韩小视频在线观看| 色系列之999| 亚洲精品美女在线观看播放| 狠狠躁夜夜躁人人爽天天天天97| 国自在线精品视频| 精品毛片三在线观看| 国产精品视频不卡| 国产精品亚洲第一区| 中文字幕亚洲欧美日韩高清| 欧洲成人在线视频| 在线亚洲国产精品网| 中文字幕亚洲综合久久| 欧美成人精品xxx| 日韩av免费在线观看| 26uuu另类亚洲欧美日本老年| 亚洲福利小视频| 国产97在线亚洲| 国产欧美精品一区二区三区介绍| 亚洲免费视频一区二区| 尤物九九久久国产精品的分类| 日韩视频一区在线| 日韩男女性生活视频| 国产精品xxx视频| 热99精品只有里视频精品| 欧美激情视频三区| 日韩在线观看免费高清完整版| 国产成人aa精品一区在线播放| 国产九九精品视频| 国产精品福利观看| 国外色69视频在线观看| 成人观看高清在线观看免费| 国产精品久久久久久久久久99| 久久久噜久噜久久综合| 久久精品电影网| 欧美国产日本高清在线| 色七七影院综合| 亚洲日本中文字幕| 久久深夜福利免费观看| 成人亲热视频网站| 黄色成人av在线| 日韩欧美亚洲一二三区| 97**国产露脸精品国产| 91成人精品网站| 国产精品国产三级国产aⅴ9色| 国产一区二区三区欧美| 日韩在线免费视频观看| 精品日韩美女的视频高清| www.久久色.com| 欧美中文字幕在线播放| 亚洲一区www| 九九精品在线视频| 亚洲美女福利视频网站| 国产精品久久激情| 亚洲国产精彩中文乱码av| 少妇高潮久久久久久潘金莲| www.日韩欧美| 国产亚洲在线播放| 中文字幕国内精品| 国产精品欧美风情| 91免费看国产| 国产精品白嫩初高中害羞小美女| 亚洲人成人99网站| 91超碰caoporn97人人| 日韩精品视频在线免费观看| 欧美激情一区二区三级高清视频| 成人在线视频网| 久久久中精品2020中文| www.午夜精品| 精品亚洲一区二区三区在线观看| 亚洲伊人成综合成人网| 韩国19禁主播vip福利视频| 色悠久久久久综合先锋影音下载| 91超碰caoporn97人人| 国产精品吊钟奶在线| 91亚洲精品在线观看| 日韩在线中文视频| 欧美高清一级大片| 亚洲免费视频观看| 精品动漫一区二区三区| 亚洲少妇中文在线| 精品一区电影国产| 欧美在线影院在线视频| 亚洲石原莉奈一区二区在线观看| 91免费国产网站| 日韩中文字幕欧美| 日韩av成人在线观看| 久久久成人的性感天堂| 91av免费观看91av精品在线| 亚洲三级 欧美三级| 亚洲第一福利网| 欧美午夜片欧美片在线观看| 国产精品成人在线| 亚洲男人的天堂网站| 亚洲人a成www在线影院| 国产精品99导航| 国产欧美一区二区三区在线| 欧美在线视频播放| 亚洲老板91色精品久久| 亚洲天堂精品在线| 性夜试看影院91社区| 在线免费看av不卡| 亚洲天堂久久av| 亚洲成年人影院在线| 91日本在线视频|