方法一:使用LinqToExcel.dll
1、上传Excel文件到服务器上
HttpPostedFileBase mypostfile = Request.Files[0];
string myfile = MyPathEx.myfileName(@"事业单位准考证上传");
myfile = myfile + ".xlsx";
myfile = MyPathEx.saveFile(mypostfile, Server, @"/ImportFile/", myfile);//保存上载文件的内容,并返回上传的路径+文件名
ExamineeOp_1.SaveExcelToDB(myfile);
/// <summary>
/// 返回一个当有日期组成的文件名
/// </summary>
/// <param name="myPerFix">可能要加的文件名前缀</param>
/// <returns></returns>
public static string myfileName(string myPerFix = "")
{
string mys = DateTime.Now.ToString("yyyyMMddHHmmss");
return myPerFix + mys;
}
2、读取Excel文件
/// <summary>
/// 导入设置好的考生信息Excel数据至数据库
/// </summary>
/// <param name="excelfile">本地Excel数据文件</param>
/// <param name="mysheet"></param>
public static void SaveExcelToDB(string excelfile, string mysheet = "sheet1")
{
// string myfile = MyPathEx.myfileName(@"/ImportFile/") +excelfile;
var excelv = new ExcelQueryFactory(excelfile);
IEnumerable<string> Mysh = excelv.GetWorksheetNames();
//下载 AccessDatabaseEngine
//http://www.microsoft.com/zh-cn/download/details.aspx?id=13255
var result = (from c in excelv.Worksheet<ExamineeC_1_Dto>(Mysh.First<string>()) select c).ToList();
DalFactory.GetManager().GetProvider<IExaminee_1_Dal>(mydal_link).ExcelImportSave(result);
}
public class ExamineeC_1_Dto
{
public int 报名序号 { get; set; }
public string 姓名 { get; set; }
public string 身份证号 { get; set; }
public string 报考单位 { get; set; }
public string 报考岗位 { get; set; }
public string 报考专业 { get; set; }
public string 最高学历 { get; set; }
public string 报考职位 { get; set; }
public string 准考证号 { get; set; }
publ