日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Excel导入sqlserver

發布時間:2025/5/22 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Excel导入sqlserver 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??

/// <summary>
/// 上傳Excel
/// </summary>
/// <returns></returns>
public ActionResult Excel()
{
ViewData["name"] = "你還沒選擇文件呢!";
return View();
}

[HttpPost]
public ActionResult Excel(FormCollection collection)
{
// var a = collection["val"];
var file = Request.Files[0];
var b = file.FileName;
Stream ss = file.InputStream;
try
{
if (b != "")
{
//根據路徑通過已存在的excel來創建HSSFWorkbook,即整個excel文檔
HSSFWorkbook workbook = new HSSFWorkbook(ss);

//獲取excel的第一個sheet
HSSFSheet sheet = (HSSFSheet) workbook.GetSheetAt(1);

DataTable table = new DataTable();
//獲取sheet的首行
HSSFRow headerRow = (HSSFRow) sheet.GetRow(0);

//一行最后一個方格的編號 即總的列數
int cellCount = headerRow.LastCellNum;

for (int i = headerRow.FirstCellNum; i < cellCount; i++)
{
DataColumn column = new DataColumn(headerRow.GetCell(i).StringCellValue);
table.Columns.Add(column);
}
//最后一列的標號 即總的行數
int rowCount = sheet.LastRowNum;

SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["connstring"].ConnectionString);//連接數據庫
//判斷數據庫里面是否有數據
SqlCommand sqlComm1 = new SqlCommand();
HSSFRow row1 = (HSSFRow) sheet.GetRow(1);
sqlComm1.CommandText = "select * from t_leavenotes where ldate='" + row1.Cells[2] + "'";
sqlComm1.Connection = sqlConn;
sqlConn.Open();
object count = sqlComm1.ExecuteScalar();
sqlConn.Close();
if (count == null)//如果每次才執行下面的操作
{
SqlCommand sqlComm = new SqlCommand();
sqlComm.CommandText =
string.Format(
"insert into t_leavenotes(Lname,Ldate,Partdate,Workdate,Nextdate,startdate,enddate,Become,Rcome,Latedate," +
"befordate,iscome,overtime,worktime,other,logetype,logeto,Department,Usuallydate,weekenddate,holiday,starttime,usuallywork,weekendwork,holidaywork)" +
"values(@Lname,@Ldate,@Partdate,@Workdate,@Nextdate,@startdate,@enddate,@Become,@Rcome,@Latedate," +
"@befordate,@iscome,@overtime,@worktime,@other,@logetype,@logeto,@Department,@Usuallydate,@weekenddate,@holiday,@starttime,@usuallywork,@weekendwork,@holidaywork)");
//參數化SQL
sqlConn.Open();


for (int i = (sheet.FirstRowNum + 1); i <= sheet.LastRowNum; i++)
{
HSSFRow row = (HSSFRow) sheet.GetRow(i);
// DataRow dataRow = table.NewRow();
//dataRow[j] = row.GetCell(j).ToString();
sqlComm.Parameters.AddWithValue("@Lname", row.Cells[1].StringCellValue);

sqlComm.Parameters.AddWithValue("@Ldate", row.Cells[2].StringCellValue);
sqlComm.Parameters.AddWithValue("@Partdate", row.Cells[3].StringCellValue);
sqlComm.Parameters.AddWithValue("@Workdate", row.Cells[4].StringCellValue);
sqlComm.Parameters.AddWithValue("@Nextdate", row.Cells[5].StringCellValue);
sqlComm.Parameters.AddWithValue("@startdate", row.Cells[6].StringCellValue);
sqlComm.Parameters.AddWithValue("@enddate", row.Cells[7].StringCellValue);
sqlComm.Parameters.AddWithValue("@Become", row.Cells[8].StringCellValue);
sqlComm.Parameters.AddWithValue("@Rcome", row.Cells[9].StringCellValue);
sqlComm.Parameters.AddWithValue("@Latedate", row.Cells[10].StringCellValue);
sqlComm.Parameters.AddWithValue("@befordate", row.Cells[11].StringCellValue);
sqlComm.Parameters.AddWithValue("@iscome", row.Cells[12].ToString());
sqlComm.Parameters.AddWithValue("@overtime", row.Cells[13].StringCellValue);
sqlComm.Parameters.AddWithValue("@worktime", row.Cells[14].StringCellValue);
sqlComm.Parameters.AddWithValue("@other", row.Cells[15].StringCellValue);
sqlComm.Parameters.AddWithValue("@logetype", row.Cells[16].StringCellValue);
sqlComm.Parameters.AddWithValue("@logeto", row.Cells[17].StringCellValue);
sqlComm.Parameters.AddWithValue("@Department", row.Cells[18].StringCellValue);
sqlComm.Parameters.AddWithValue("@Usuallydate", row.Cells[19].StringCellValue);
sqlComm.Parameters.AddWithValue("@weekenddate", row.Cells[20].StringCellValue);
sqlComm.Parameters.AddWithValue("@holiday", row.Cells[21].StringCellValue);
sqlComm.Parameters.AddWithValue("@starttime", row.Cells[22].StringCellValue);
sqlComm.Parameters.AddWithValue("@usuallywork", row.Cells[23].StringCellValue);
sqlComm.Parameters.AddWithValue("@weekendwork", row.Cells[24].StringCellValue);
sqlComm.Parameters.AddWithValue("@holidaywork", row.Cells[25].StringCellValue);

sqlComm.CommandType = CommandType.Text;
sqlComm.Connection = sqlConn;

sqlComm.ExecuteNonQuery();
sqlComm.Parameters.Clear();
}
sqlConn.Close();
ViewData["name"] = "添加成功!";

}
}
else
{
ViewData["name"] = "請先選擇文件再確定!";
}
}
catch (Exception ex)
{
ViewData["name"] = "你選擇的文件有誤!";
}

return View();
}

轉載于:https://www.cnblogs.com/monkey-long/p/3431360.html

總結

以上是生活随笔為你收集整理的Excel导入sqlserver的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。