[英]import excel to sql database
我不是程序員,但嘗試從Internet進行一些研究。 在這里,我嘗試使用asp.net c#將excel數據導入sql數據庫。 我從互聯網上得到了一個與此相關的概念,但是卻收到了這樣的錯誤消息:“編譯器錯誤消息:CS1501:方法'valid'的重載沒有1個參數”。我的代碼詳細信息如下:
<table>
<tr>
<td>Loan History File Format :</td>
<td><input type="button" value="Download" onclick='location.href = "CardDefaulterTemplete.xlsx#TableName"'/></td>
<td rowspan="2">Before upload data, you must follow this file format. </td>
</tr>
<tr>
<td> <asp:FileUpload ID="fileUpload1" runat="server" Visibl="False"/></td>
<td> <asp:Button ID="btnCardDefaulter" runat="server" Text="Upload"
onclick="btnCardDefaulter_Click"/></td>
</tr>
</table>
<div>
<asp:Button ID="btnExcel" runat="server" Text="Excel"
onclick="btnExcel_Click" />
<asp:Label ID="lblmsg" runat="server" Width="500px"></asp:Label>
</div>
c#代碼”
protected string valid(SqlDataReader myreader, int stval)//if any columns are found null then they are replaced by zero
{
object val = myreader[stval];
if (val != DBNull.Value)
return val.ToString();
else
return Convert.ToString(0);
}
public void insertdataintosql(string LHAcNo, string LhAcName, int LHIntRate, string LHDrawingPower, int LHtotalDisbAmt
, int LHEMI, string LHExpiryDate, string LHSanctionDate, string LHDisbDate, int LHOutstandingAmt, int LHPaidAmt
, int LHLastMonthPaid, string LHStatus, string LhCLStatus)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["OptimaWebCustomerQueryCon"].ConnectionString))
{
conn.Open();
string str = @"insert TblLoanHistory (LHAcNo
,LhAcName
,LHIntRate
,LHDrawingPower
,LHtotalDisbAmt
,LHEMI
,LHExpiryDate
,LHSanctionDate
,LHDisbDate
,LHOutstandingAmt
,LHPaidAmt
,LHLastMonthPaid
,LHStatus
,LhCLStatus) values(@LHAcNo
,@LhAcName
,@LHIntRate
,@LHDrawingPower
,@LHtotalDisbAmt
,@LHEMI
,@LHExpiryDate
,@LHSanctionDate
,@LHDisbDate
,@LHOutstandingAmt
,@LHPaidAmt
,@LHLastMonthPaid
,@LHStatus
,@LhCLStatus)";
using (SqlCommand cmd = new SqlCommand(str, conn))
{
cmd.Parameters.Add("@LHAcNo",LHAcNo);
cmd.Parameters.Add("@LhAcName",LhAcName);
cmd.Parameters.Add("@LHIntRate",LHIntRate);
cmd.Parameters.Add("@LHDrawingPower",LHDrawingPower);
cmd.Parameters.Add("@LHtotalDisbAmt",LHtotalDisbAmt);
cmd.Parameters.Add("@LHEMI",LHEMI);
cmd.Parameters.Add("@LHExpiryDate",LHExpiryDate);
cmd.Parameters.Add("@LHSanctionDate",LHSanctionDate);
cmd.Parameters.Add("@LHDisbDate",LHDisbDate);
cmd.Parameters.Add("@LHOutstandingAmt",LHOutstandingAmt);
cmd.Parameters.Add("@LHPaidAmt",LHPaidAmt);
cmd.Parameters.Add("@LHLastMonthPaid",LHLastMonthPaid);
cmd.Parameters.Add("@LHStatus",LHStatus);
cmd.Parameters.Add("@LhCLStatu",LhCLStatus);
cmd.ExecuteNonQuery();
}
conn.Close();
}
}
protected void btnExcel_Click(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["OptimaWebCustomerQueryCon"].ConnectionString))
try
{
string tmpPath = string.Format(@"{0}{1}.xlsx", (@"e:\temp\"), DateTime.Now.ToString("ddMMyyyy"));
if (File.Exists(tmpPath)) File.Delete(tmpPath);
if (fileUpload1.HasFile)
fileUpload1.SaveAs(tmpPath);
FileInfo file = new FileInfo(tmpPath);
ExcelPackage pkg = new ExcelPackage(file);
var excelApp = pkg.Workbook.Worksheets["main_info"];
using (SqlCommand com = new SqlCommand("select LHAcNo, LhAcName, LHIntRate, LHDrawingPower, LHtotalDisbAmt, LHEMI, LHExpiryDate, LHSanctionDate, LHDisbDate, LHOutstandingAmt, LHPaidAmt, LHLastMonthPaid, LHStatus, LhCLStatus from [Template$]", conn))
{
conn.Open();
using (SqlDataReader dr = com.ExecuteReader())
{
string Call_LHAcNo = "";
string Call_LhAcName = "";
int Call_LHIntRate = 0;
string Call_LHDrawingPower = "";
int Call_LHtotalDisbAmt = 0;
int Call_LHEMI = 0;
string Call_LHExpiryDate = "";
string Call_LHSanctionDate = "";
string Call_LHDisbDate = "";
int Call_LHOutstandingAmt =0;
int Call_LHPaidAmt =0;
int Call_LHLastMonthPaid = 0;
string Call_LHStatus = "";
string Call_LhCLStats = "";
while (dr.Read())
{
Call_LHAcNo = valid(dr[1]);
Call_LhAcName = valid(dr[2]);
Call_LHIntRate = valid(dr[3]);
Call_LHDrawingPower = valid(dr[4]);
Call_LHtotalDisbAmt = valid(dr[5]);
Call_LHEMI = valid(dr[6]);
Call_LHExpiryDate = valid(dr[7]);
Call_LHSanctionDate = valid(dr[8]);
Call_LHDisbDate = valid(dr[9]);
Call_LHOutstandingAmt = valid(dr[10]);
Call_LHPaidAmt = valid(dr[11]);
Call_LHLastMonthPaid = valid(dr[12]);
Call_LHStatus = valid(dr[13]);
Call_LhCLStats = valid(dr[14]);
insertdataintosql(Call_LHAcNo,
Call_LhAcName,
Call_LHIntRate,
Call_LHDrawingPower,
Call_LHtotalDisbAmt,
Call_LHEMI,
Call_LHExpiryDate,
Call_LHSanctionDate,
Call_LHDisbDate,
Call_LHOutstandingAmt,
Call_LHPaidAmt,
Call_LHLastMonthPaid,
Call_LHStatus,
Call_LhCLStats);
}
conn.Close();
}
}
}
catch (DataException ee)
{
lblmsg.Text = ee.Message;
lblmsg.ForeColor = System.Drawing.Color.Red;
}
finally
{
lblmsg.Text = "Data Inserted Sucessfully";
lblmsg.ForeColor = System.Drawing.Color.Green;
}
}
我對“ protected string valid(SqlDataReader myreader, int stval)
”和“從Excel導入protected void btnExcel_Click(object sender, EventArgs e)
”和處理while循環protected void btnExcel_Click(object sender, EventArgs e)
。
您在代碼中的某些位置使用一個參數調用方法valid()。 請確保將兩個參數傳遞給valid()函數。
在您的代碼中,您正在像這樣調用有效函數。
Call_LHAcNo = valid(dr[1]);
但是在有效函數中接受兩個有效參數(SqlDataReader myreader,int stval)
您需要提供兩個參數來起作用,或者將函數更改為一個參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.