我只有aspnet的,c#也可以使用,但是没测试过java那些的。将Excel里面的数据导入到数据库中的原理就是将Excel里面的数据存储到一个dataTable中,然后将数据一行一行添加到数据库的表里。给你部分代码,相信你能够如此好学,应该能看懂,有些变量你自己研究是什么,不然全部给你打出来了,你就只会copy了。
SqlConnection con = new SqlConnection(ConfigurationManagerAppSettings["aa"]ToString());conOpen();//数据库连接字符串
DataTable dtXls = new DataTable();
if (thisfudAddPostedFileFileNameToString()Trim() != "" && thisfudAddPostedFileFileName!=null)
{
string filePath = thisfudAddPostedFileFileNameToString()Trim();
FileInfo fileTag = new FileInfo(fudAddPostedFileFileName);
string extendedName = fileTagExtension;
if (extendedNameToLower() != "xls" && extendedNameToLower() != "xlsx")
{
ResponseWrite("<script>alert('请选择一个Excel文件!');</script>");
return;
}
else
{
dtXls = ExcelToDataTable(filePath,extendedName);
if (dtXls==null||dtXlsRowsCount <= 0 || dtXlsColumns[0]ToString() == "")
{
ResponseWrite("<script>alert('请你确认上传的Excel中有资料!');</script>");
return;
}
else
{
if (dtXlsColumns[0]ToString() != "手机号码" || dtXlsColumns[1]ToString() != "状态")
{
ResponseWrite("<script>alert('请确定Excel资料的格式为[手机号码][状态]!');</script>");
return;
}
else
{
if (dtXlsRows[0][0]ToString() == "")
{
ResponseWrite("<script>alert('请确定Excel资料的格式为[手机号码][状态]!');</script>");
return;
}
else
{
string result = AddXlsData(dtXls, con);
string[] resultData = resultSplit('-');
string msg = "资料上传成功!共计" + resultData[0] + "条成功," + resultData[1] + "条失败!";
ResponseWrite("<script>alert('" + msg + "');</script>");
logwriteLogOpera(userid, "UnExistMobile_Magaspx", "UnExistMobile_Magaspxcs", "成功上传一批空号");//记录log
BindData();
return;
}
}
}
}
conClose();
//
#region ExcelToDataTable
/// <summary>
/// 读取xls文件
/// Add by
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
protected DataTable ExcelToDataTable(string fileName, string extendedName)
{
string strConn = stringEmpty;
if (extendedNameToLower() == "xls")
{
strConn = "Provider=MicrosoftJetOLEDB40;Data Source=" + fileName + ";Extended Properties='Excel 80;HDR=Yes;IMEX=1';";
}
if (extendedNameToLower() == "xlsx")
{
strConn = "Provider=MicrosoftACEOLEDB120;Data Source=" + fileName + ";Extended Properties='Excel 120;HDR=YES'";
}
OleDbConnection conn = new OleDbConnection(strConn);
connOpen();
SystemDataDataTable schemaTable = connGetOleDbSchemaTable(SystemDataOleDbOleDbSchemaGuidTables, null);
string tableName = schemaTableRows[0][2]ToString()Trim();
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = null;
strExcel = "Select From [" + tableName + "]";
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommandFill(ds, tableName);
if (ds != null)
{
SystemDataDataTable dt = dsTables[0];
return dt;
}
else
{
return null;
}
connClose();
dsDispose();
}
#endregion
DbSet<UserInfo> UserInfoes 默认应该是这个名字,你可以打开你的数据看看,生成的是什么表名。 这个肯定是你用的U_UserInfo和数据库的表名不对应。
默认数据集为数据表的复数形式,Productivity的复数形式是Productiities,而不是Producttivitys
你可以通过重载移出这个约定:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilderConventionsRemove<PluralizingTableNameConvention>();
}
一、前提条件 系统必须是使用LOG4J进行日志管理,否则方法无效。 系统必须包含commons-logging-xxxjar,log4j-xxxjar这两个JAR包,XXX为版本号。 二、 *** 作步骤 1、创建日志表 要把日志持久化,必须在数据库中创建一张用来存储日志信息的表,表
以上就是关于mvc里如何上传excel然后将里面的数据导入到SQL数据库里全部的内容,包括:mvc里如何上传excel然后将里面的数据导入到SQL数据库里、MVC3.0连接数据库、求大神解决 mvc 3.0连接数据库问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)