读取excel文件更改其数据类型

时间:2010-12-23 09:35:05

标签: c# excel parsing

如何读取excel文件并将其列数据类型更改为字符串   现在我有一张excel表,第10列

数据显示如下

2010年1月5日

2010年6月12日

我需要改成这种格式“dd-MM-yyyy”  所以它显示这样。 2010年1月5日

2010年6月12日

任何人都可以告诉我如何做到这一点。

任何帮助都会非常棒

1 个答案:

答案 0 :(得分:2)

它读取并更新excel文件。在执行此操作之前,请执行以下步骤

1.右键单击解决方案资源管理器,然后选择“添加引用” 2.在.Net选项卡中选择Microsoft.Office.interop.Excel 3.在NameSpace中的代码(即)中添加以下行:

      using Excel = Microsoft.Office.Interop.Excel;


       string address;
            Excel.ApplicationClass excel = new Excel.ApplicationClass();
            object Missing = Type.Missing;
            FileInfo fInfo = new FileInfo(@"D:\Book1.xls");
            if (fInfo.Exists)
            {
                Excel.Workbook workbook = excel.Workbooks.Open(@"D:\Book1.xls", Missing, Missing,
                    Missing, Missing, Missing, Missing, Missing,
                    Missing, Missing, Missing, Missing, Missing,
                    Missing, Missing);
                Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Sheets["Sheet1"];
                Excel.Range docNumber = worksheet.Cells.Find("10/5/2010", worksheet.Cells[1, 1],
                    Excel.XlFindLookIn.xlValues,
                    Excel.XlLookAt.xlPart, Missing, Excel.XlSearchDirection.xlNext,
                    false, Missing, Missing);
                if (docNumber != null)
                {
                    address = docNumber.get_Address(true, true, Excel.XlReferenceStyle.xlA1, Missing,
                        Missing);
                    docNumber = worksheet.UsedRange;
                    DateTime parsedDate;                       
                    for (int rCnt = 1; rCnt <= docNumber.Rows.Count; rCnt++)
                    {
                        for (int cCnt = 1; cCnt <= docNumber.Columns.Count; cCnt++)
                        {
                            string str = (string)(docNumber.Cells[rCnt, cCnt] as Excel.Range).Text ;
                            parsedDate = DateTime.Parse(str);
                            str =  String.Format("{0:dd-mm-yyyy}", parsedDate);
                            docNumber.Cells[rCnt, cCnt] = str;                                
                        }
                    }                        
                    workbook.Save();                        
                }
            }