//EF导出示例
var query = from u in orderQuery
join pro in dbContext.Project on
u.projectNo equals pro.projectNo
join org in dbContext.Org on
u.orgNo equals org.orgNo into JoinedEmpDept
from dept in JoinedEmpDept.DefaultIfEmpty()
select new
{
学校名称= pro.projectName,
所属班级=dept.orgName,
费用类型=u.orderName,
学生姓名=u.userName,
身份证号=u.userNo,
手机号=u.userPhone,
订单编号=u.orderNo,
费用金额=u.orderAmount/100.0,
支付状态=u.payState==1?"已支付":"未支付",
支付时间=u.payTime,
银行流水号=u.ccbOrderId,
添加时间=u.createTime,
备注=u.remark
};
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx";
string file = localPath + fileName;
using (ExcelHelper excelHelper = new ExcelHelper(file))
{
var list = query.OrderByDescending(u => u.添加时间).ToList();
excelHelper.ListToExcel(list,"费用");
return ReturnNode.ReturnSuccess(fileName);
}
//EF导出示例2,SQL直接导出
try
{
var sql = "SELECT * from user ";
//输出排名
//sql = string.Format("SELECT @rank :=@rank + 1 AS 排名,A.* FROM ( {0}) A, (SELECT @rank := 0) B;", sql);
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx";
string file = localPath + fileName;
using (ExcelHelper excelHelper = new ExcelHelper(file))
{
System.Data.Common.DbCommand cmd = dbContext.Database.Connection.CreateCommand();
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;
//转成sqlcommand正常查询语句。
MySql.Data.MySqlClient.MySqlDataAdapter da = new MySql.Data.MySqlClient.MySqlDataAdapter();
da.SelectCommand = cmd as MySql.Data.MySqlClient.MySqlCommand;
DataTable dt = new DataTable();
da.Fill(dt);
excelHelper.DataTableToExcel(dt, "用户表",true);
return ReturnNode.ReturnSuccess(serverPath + fileName);
}
}
catch (Exception ex)
{
return ReturnNode.ReturnError(ex.Message);
}
//导入示例
string file = "C:\\Data\\模板.xlsx";
using (ExcelHelper excelHelper = new ExcelHelper(file))
{
DataTable dt = excelHelper.ExcelToDataTable("Sheet1", true);
int num = 0;
for (int i = 0; i < dt.Rows.Count;