zoukankan      html  css  js  c++  java
  • Excel Programming (C# + VBA) Part III

     

    Step 6 Import the data in excel to database

    a.       Create excel app object and open the uploaded file

                Microsoft.Office.Interop.Excel.Application xlsApp = new ApplicationClass();

                Workbook wb 
    = xlsApp.Workbooks.Open(_filePath,Type.Missing,Type.Missing, Type.Missing,Type.Missing,Type.Missing,Type.Missing, Type.Missing,Type.Missing,Type.Missing,Type.Missing, Type.Missing,Type.Missing,Type.Missing,Type.Missing);

                wb.Unprotect(TemplatePassword);

     

    b.      Save the upload file as a temporary file. Then close uploaded file and open the temporary file

               string tempFileName = _filePath.ToLower().Replace(".xls","_Temp.xls");      

                wb.Unprotect(TemplatePassword);

                wb.SaveCopyAs(tempFileName);

     

    c.       Verify the data in template again in web application

                ReadDataSource((Worksheet)wb.Worksheets[DataSourceSheet], out branchID, out planDate, out startDate, out endDate, out iChecked, out templatetype);

               
    if(!(iChecked == 1))

                
    {

                    returnVal 
    = "Please verify the data before upload to the server!";

                      
    throw new Exception(returnVal);

                }


                
    if(templatetype.ToUpper() != _templatetype.ToUpper())

                
    {

                      returnVal 
    = "The version is not corrected, please verify the document and uploaded again";

                      
    throw new Exception(returnVal);

                }


     ……

    private void ReadDataSource(Worksheet ws, out string branchID, out string planDate, out DateTime startDate,out DateTime endDate, out int iChecked, out string templatetype)

          
    {

                
    string check = ws.get_Range("A1", System.Type.Missing).Text.ToString();

                branchID 
    = ws.get_Range("A2", System.Type.Missing).Text.ToString();

                
    string sDate = ws.get_Range("A4", System.Type.Missing).Text.ToString();

                
    string eDate = ws.get_Range("A5", System.Type.Missing).Text.ToString();

                planDate 
    = ws.get_Range("A6", System.Type.Missing).Text.ToString();

                templatetype 
    = ws.get_Range("A7", System.Type.Missing).Text.ToString();

                startDate 
    = DateTime.Parse(sDate);

                endDate 
    = DateTime.Parse(eDate);

                
    try

                
    {

                      iChecked 
    = Convert.ToInt16(check);

                }


                
    catch

                
    {

                      iChecked 
    = 0;

                }


          }
        

                

    d.      Read the data in the worksheet

                string territoryList = ws.get_Range("B"+ i.ToString(), System.Type.Missing).Text.ToString();

                
    string territoryIDList = ws.get_Range("AB" + i.ToString(), System.Type.Missing).Text.ToString();

                
    string category = ws.get_Range("E" + i.ToString(), System.Type.Missing).Text.ToString();

                
    string categoryID = ws.get_Range("AE" + i.ToString(), System.Type.Missing).Text.ToString();

    e.      Change the database based on data in excel sheet

                SqlHelper.ExecuteNonQuery(connnectionString, CommandType.Text, "insert into … ");                 

    Summary: Objects used in this sample

    a.       Excel.Application

                                                                   i.      Application.Workbooks.Open

                                                                 ii.      Quit

    b.      Excel.Workbook

                                                                   i.      SaveCopyAs

                                                                 ii.      Unprotect

                                                                iii.      Worksheets

                                                               iv.      Protect

                                                                 v.      .Names.Add

                                                               vi.      Close

    c.       Excel.WorkSheet

                                                                   i.      Unprotect

                                                                 ii.      Protect

                                                                iii.      .Hyperlinks.Add

    d.      Range

                                                                   i.      Value2

                                                                 ii.      Text

    e.      Cell, Cells

  • 相关阅读:
    Entity Framework Core 2.0 新特性
    asp.net core部署时自定义监听端口,提高部署的灵活性
    asp.net core使用jexus部署在linux无法正确 获取远程ip的解决办法
    使用xshell连接服务器,数字键盘无法使用解决办法
    使用Jexus 5.8.2在Centos下部署运行Asp.net core
    【DevOps】DevOps成功的八大炫酷工具
    【Network】Calico, Flannel, Weave and Docker Overlay Network 各种网络模型之间的区别
    【Network】UDP 大包怎么发? MTU怎么设置?
    【Network】高性能 UDP 应该怎么做?
    【Network】golang 容器项目 flannel/UDP相关资料
  • 原文地址:https://www.cnblogs.com/lyrix/p/976015.html
Copyright © 2011-2022 走看看