using (var session = new SessionFactory().OpenSession())
{
#region MyRegion
var q = new Criteria<SelfStudyExamProcessScore>(session).Asc(m => m.ActivityId).Asc(m => m.ExamStudentNo);
if (!IsInstructor())
{
q.Where(m => m.TeacherCode.Equals(CurrentAccountNo));
}
var studentScores = q.Find();
var path = ConfigurationManager.AppSettings["ExportTempPath"] ?? AppDomain.CurrentDomain.BaseDirectory + "ExportTemp/";
string mTableName = "WYKS";
string mStrConn = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + path + @"/;Extended Properties=""dBASE IV;HDR=Yes;"";";
var mOLDBConn = new OleDbConnection(mStrConn);
#endregion
#region 创建表文件
mOLDBConn.Open();
OleDbCommand sqlt = new OleDbCommand();
sqlt.Connection = mOLDBConn;
//sqlt.CommandText = "DROP TABLE " + mTableName + "";
//sqlt.ExecuteNonQuery();
//sqlt.CommandText = "Create table " + mTableName + " ( 活动名称 varchar(18),学生姓名 varchar(20),学生考号 varchar(20),专业代码 varchar(20),专业名称 varchar(20),课程名称 varchar(20),考勤成绩 float,课堂表现成绩 float,《过程性考核册》成绩 float,应变能力成绩 float(,过程性考核成绩 float)";
sqlt.CommandText = "Create table " + mTableName + " ( HDMC varchar(18),XSXN varchar(20),XSKH varchar(20),ZYDM varchar(20),ZYMC varchar(20),KCMC varchar(20),KQCJ float,KTCJ float,GCCJ float, YBCJ float, CJ float)";
OleDbCommand sqlt1 = mOLDBConn.CreateCommand();
sqlt.ExecuteNonQuery();
foreach (var item in studentScores)
{
sqlt1.CommandText = "Insert Into " + mTableName + " values ('" + item.ActivityName + "','" +
item.Name + "','" + item.ExamStudentNo + "','" + item.MajorCode + "','" +
item.MajorName + "','" + item.CourseName + "'," + item.Attendance + "," +
item.CourseShow + "," + item.ProcessBook + "," + item.StrainCapacity + "," +
item.ProcessCheck + ")";
sqlt1.ExecuteNonQuery();
}
#endregion
#region 下载
FileStream fs = new FileStream(path + "//" + mTableName + ".DBF", FileMode.Open, FileAccess.Read);
byte[] b = new byte[fs.Length];
fs.Read(b, 0, b.Length);
fs.Flush();
fs.Close();
Response.Clear();
Response.ClearHeaders();
Response.Clear();
Response.ClearHeaders();
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(path + "//" + mTableName + ".DBF", Encoding.UTF8));
Response.AppendHeader("Content-Length", b.Length.ToString());
fs.Close();
fs.Close();
if (b.Length > 0)
{
Response.OutputStream.Write(b, 0, b.Length);
}
sqlt.CommandText = "DROP TABLE " + mTableName + "";
sqlt.ExecuteNonQuery();
sqlt.Dispose();
sqlt1.Dispose();
mOLDBConn.Close();
Response.Flush();
Response.End();
return Content("成功");
#endregion
{
#region MyRegion
var q = new Criteria<SelfStudyExamProcessScore>(session).Asc(m => m.ActivityId).Asc(m => m.ExamStudentNo);
if (!IsInstructor())
{
q.Where(m => m.TeacherCode.Equals(CurrentAccountNo));
}
var studentScores = q.Find();
var path = ConfigurationManager.AppSettings["ExportTempPath"] ?? AppDomain.CurrentDomain.BaseDirectory + "ExportTemp/";
string mTableName = "WYKS";
string mStrConn = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + path + @"/;Extended Properties=""dBASE IV;HDR=Yes;"";";
var mOLDBConn = new OleDbConnection(mStrConn);
#endregion
#region 创建表文件
mOLDBConn.Open();
OleDbCommand sqlt = new OleDbCommand();
sqlt.Connection = mOLDBConn;
//sqlt.CommandText = "DROP TABLE " + mTableName + "";
//sqlt.ExecuteNonQuery();
//sqlt.CommandText = "Create table " + mTableName + " ( 活动名称 varchar(18),学生姓名 varchar(20),学生考号 varchar(20),专业代码 varchar(20),专业名称 varchar(20),课程名称 varchar(20),考勤成绩 float,课堂表现成绩 float,《过程性考核册》成绩 float,应变能力成绩 float(,过程性考核成绩 float)";
sqlt.CommandText = "Create table " + mTableName + " ( HDMC varchar(18),XSXN varchar(20),XSKH varchar(20),ZYDM varchar(20),ZYMC varchar(20),KCMC varchar(20),KQCJ float,KTCJ float,GCCJ float, YBCJ float, CJ float)";
OleDbCommand sqlt1 = mOLDBConn.CreateCommand();
sqlt.ExecuteNonQuery();
foreach (var item in studentScores)
{
sqlt1.CommandText = "Insert Into " + mTableName + " values ('" + item.ActivityName + "','" +
item.Name + "','" + item.ExamStudentNo + "','" + item.MajorCode + "','" +
item.MajorName + "','" + item.CourseName + "'," + item.Attendance + "," +
item.CourseShow + "," + item.ProcessBook + "," + item.StrainCapacity + "," +
item.ProcessCheck + ")";
sqlt1.ExecuteNonQuery();
}
#endregion
#region 下载
FileStream fs = new FileStream(path + "//" + mTableName + ".DBF", FileMode.Open, FileAccess.Read);
byte[] b = new byte[fs.Length];
fs.Read(b, 0, b.Length);
fs.Flush();
fs.Close();
Response.Clear();
Response.ClearHeaders();
Response.Clear();
Response.ClearHeaders();
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(path + "//" + mTableName + ".DBF", Encoding.UTF8));
Response.AppendHeader("Content-Length", b.Length.ToString());
fs.Close();
fs.Close();
if (b.Length > 0)
{
Response.OutputStream.Write(b, 0, b.Length);
}
sqlt.CommandText = "DROP TABLE " + mTableName + "";
sqlt.ExecuteNonQuery();
sqlt.Dispose();
sqlt1.Dispose();
mOLDBConn.Close();
Response.Flush();
Response.End();
return Content("成功");
#endregion
}
//注意:字段不能用中文