Excel Programming (C# + VBA) Part III

Excel到数据库导入步骤
 

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

转载于:https://www.cnblogs.com/lyrix/archive/2007/12/05/976015.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值