1.前端html
<input =\"inputFileChange(this);\" id=\"addfile\" name=\"addfile\" type=\"file\" style=\"display: none\" />
<input type=\"text\" id=\"filename\" placeholder=\"请选择文件\" class=\"input-text\" style=\"height: 28px\" />
<input class=\"btn btn-primary radius\" id=\"dialog\" type=\"button\" value=\"选择文件\" />
2.前端js
function inputFileChange(_this)
{
var file = $(\"#addfile\").val();
var strfilename = file.replace(/^.+?\\\\([^\\\\]+?)(\\.[^\\.\\\\]*?)?$/gi, \"$1\")//这个是直接把后缀名也去掉的纯文件名
var FileExt = file.replace(/.+\\./, \"\");//单独的后缀名提取
filename.value = strfilename + \".\" + FileExt;
var fileUrl = getFileURL(_this.files[0]);
if (isExcelFile($(_this).val())) {
alert(\"格式正确\");
}
else { alert(\"您上传的文件不符合格式!\"); }
$.ajaxFileUpload({
url: \'/Home/Import\',
secureuri: false,
fileElementId: \'addfile\',
dataType: \'text\',
data: {
addFile: $(\"#addFile\").val(), fileName: strfileName + \".\" + FileExt
},
success: function (data) {
if (data == \"导入成功\") {
alert(\"导入成功!\");
window.location.reload();
}
else {
alert(\"导入失败!\");
}
},
error: function (data, status, e) {
alert(e);
}
});
}
function isExcelFile(val)
{
var patn = /\\.xls$|\\.xlsx$/;
if (patn.test(val.toLowerCase()))
return true;
return false;
}
function getFileURL(file) {
var url = null;
if (window.create URL != undefined) { // basic
url = window.create URL(file);
} else if (window.URL != undefined) { // mozilla(firefox)
url = window.URL.create URL(file);
} else if (window.webkitURL != undefined) { // webkit or chrome
url = window.webkitURL.create URL(file);
}
return url;
}
3.后台控制器
public ActionResult Import(string fileName)
{
string path = AcceptFile(fileName);//这里在工程目录下保存了文件。
Workbook workbook1 = new Workbook();//这里需要引用spire插件
List<string> xlist = new List<string>();
try
{
workbook1.LoadFromFile(path);//这里使用了spire插件,加载excel文件
//int index = int.Parse(sheet);
Worksheet sheet1 = workbook1.Worksheets[0];
DataTable datatable = sheet1.ExportDataTable();
Addto_mod(datatable);//放进数据库
workbook1.Dispose();
}
catch
{
return null;
}
return Content(\"ok\");
}
public void Addto_mod(DataTable datatable)
{
Maticsoft.BLL.problem bll = new Maticsoft.BLL.problem();
List<Maticsoft.Model.problem> list = new List<Maticsoft.Model.problem>();
Maticsoft.Model.problem mod = new Maticsoft.Model.problem();
Maticsoft.BLL.problemclass class_bll = new Maticsoft.BLL.problemclass();
Maticsoft.Model.problemclass class_mod = new Maticsoft.Model.problemclass();
List<Maticsoft.Model.problemclass> class_list = new List<Maticsoft.Model.problemclass>();
string[] question = { \"标题\",\"问题描述\",\"等级\",\"理由\",\"类别\",\"电厂\",\"基地是否同意\"};
for (int i = 0; i <datatable.Rows.Count-1 ; i++)//行数
{
for (int j = 0; j < question.Length; j++)//列数
{
if (datatable.Rows[0][j].ToString().Contains(question[j]))
{
switch (question[j])
{
case \"标题\":
mod.problem_ = datatable.Rows[i + 1][j].ToString().Trim();
break;
case \"问题描述\":
mod.problem_desc = datatable.Rows[i + 1][j].ToString().Trim();
break;
case \"等级\":
if (datatable.Rows[i + 1][j].ToString().Trim() == \"一般\")
{
mod.problem_level = 1;
}
if (datatable.Rows[i + 1][j].ToString().Trim() == \"紧急\")
{
mod.problem_level = 2;
}
break;
case \"理由\":
mod.level_desc = datatable.Rows[i + 1][j].ToString().Trim();
break;
case \"类别\":
foreach (Maticsoft.Model.problemclass item in class_list)
{
if (datatable.Rows[i + 1][j].ToString() == item.classname)
{
mod.problem_classid = item.id;
}
}
break;
case \"电厂\":
mod.electricity_location = datatable.Rows[i + 1][j].ToString().Trim();
break;
case \"基地是否同意\":
mod.location_isagree = datatable.Rows[i + 1][j].ToString().Trim();
break;
}
}
}
mod.problem_id = Random();
mod.userid = CookiesClass.ReadCurCookie().user_id;
mod.problem_status = \"未审核\";
mod.submit_time = DateTime.Now.ToString();
bll.Add(mod);
}
}
继续阅读与本文标签相同的文章
计算机通信与网络_3.局域网与广域网
-
Apache Zepplin使用Hive Interpreter查询
2026-05-19栏目: 教程
-
大宗货运如何实现“重去重回”?
2026-05-19栏目: 教程
-
企业官网怎么选择合适的阿里云服务器ECS(新手参考)
2026-05-19栏目: 教程
-
携程、阿里、京东、腾讯iOS春招面试过程以及面试题总结!
2026-05-19栏目: 教程
-
浏览器事件机制中 事件触发的三个阶段
2026-05-19栏目: 教程
