ajax 上传读取excel
$("#btnImport").click(function () {
$("#File").click()
})///委托
$("#File").change(function () {//選擇文件改變事件
var formdata = new FormData();
var fileObj = document.getElementById("File").files;
for (var i = 0; i < fileObj.length; i++)
formdata.append("file" + i, fileObj[i]);
$.ajax({
url: "/FacultyStuManage/Uploading",
type: 'POST',
dataType: 'json',
data: formdata,
/**
*必須false才會自動加上正確的Content-Type
*/
contentType: false,
/**
* 必須false才會避開jQuery對 formdata 的默認處理
* XMLHttpRequest會對 formdata 進行正確的處理
*/
processData: false ,
success: function (data) {
},
error: function () { alert("請關閉execl按正確流程操作!!!"); }
})
})
[HttpPost]
public string JsonImport() EXECL導入datable
{
string path = string.Concat(System.AppDomain.CurrentDomain.BaseDirectory, "Excel\\" + fileName + ""); //獲取項目物理路徑
var json = "";
// HSSFWorkbookhssfworkbook;
#region//初始化信息
try
{
using (FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read))
{
IWorkbook wk;
if (path.Equals(".xls"))
{
wk = new XSSFWorkbook(file);
}
else
{
wk = new HSSFWorkbook(file);
}
ISheet sheet = wk.GetSheetAt(0);
DataTable table = new DataTable();
IRow headerRow = sheet.GetRow(0);//第一行為標題行
int cellCount = headerRow.LastCellNum;//LastCellNum =PhysicalNumberOfCells
int rowCount = sheet.LastRowNum;//LastRowNum = PhysicalNumberOfRows - 1
//handling header.
for (int i = headerRow.FirstCellNum; i < cellCount; i++)
{
DataColumn column = new DataColumn(headerRow.GetCell(i).StringCellValue);
table.Columns.Add(column);
}
for (int i = (sheet.FirstRowNum + 1); i <= rowCount; i++)
{
IRow row = sheet.GetRow(i);
DataRow dataRow = table.NewRow();
if (row != null)
{
for (int j = row.FirstCellNum; j < cellCount; j++)
{
if (row.GetCell(j) != null)
dataRow[j] = GetCellValue(row.GetCell(j));
}
}
table.Rows.Add(dataRow);
}
json = JsonConvert.SerializeObject(table);
}
}
catch (Exception e)
{
throw e;
}
#endregion
?
return json;
}
引用文件
?
轉載于:https://www.cnblogs.com/manwwx129/p/7092769.html
總結
以上是生活随笔為你收集整理的ajax 上传读取excel的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [bzoj4922]Karp-de-Ch
- 下一篇: 安装完MAVEN后输入mvn -v, 提