Exportxian() {
var url = "/api/Ema_bilingBill/ExportXianDeclaration";
const params = {};
var callback = res => {
this.common.showMsg(res);
if (res.Result) {
window.open(this.common.domain + res.Data);
}
};
this.common.ajax(url, params, callback, true);
}
#region 西安报关口岸导出
/// <summary>
/// 西安报关口岸导出
/// </summary>
/// <param name="reqInfo"></param>
/// <returns></returns>
[HttpPost]
public ResultInfo<string> ExportXianDeclaration(BaseModel reqInfo)
{
var info = new ResultInfo<string>(); try
{
string where = string.Empty;
string url = string.Empty;
string sql = string.Empty;
//数据源
sql = @"SELECT W.ExpressCode,'B' AS DeclareType ,P.CIQNameCn,P.CIQName,L.ProductCode,L.Weight,L.GrossWeight,P.ProductSpec,'Null' AS SaleCity,'NULL' AS Currency,L.QuantityOrder,(L.QuantityOrder * P.DeclarePrice) AS QuantityTotalprice, --AS'zongjia',
P.DeclareUnit,W.ConsigneeName,W.CityName,W.ConsigneeAddress,W.ConsigneeMobile,W.ConsigneeIdcard,'NULL' AS PackagingType,'' AS IsWoodPackaging,'' AS IsOldArticles,'' AS IsColdchain,'' AS ProductionCountry,'' AS TradeCountry
FROM TMS_WayBill AS W INNER JOIN
TMS_WayBillList AS L ON W.WayBill_Id = L.WayBill_Id LEFT OUTER JOIN
TMS_ProductInfo_Port AS P ON L.Product_Id = P.Product_Id
WHERE W.PortName = '西安口岸' AND w.Port_Id = 7";
DataTable WayBillList = TMS_WayBillRepository.Instance.DataContext.ExecuteDataSet(CommandType.Text, sql).Tables[];

//模板路径
var path = HttpContext.Current.Server.MapPath("/Upload/ImportTemplate/报关数据(西安口岸模板).xlsx");
//指定文档
FileInfo newFile = new FileInfo(path);
//开启
using (ExcelPackage pck = new ExcelPackage(newFile))
{
//设定ExcelWorkBook
ExcelWorkbook workBook = pck.Workbook;
ExcelWorksheet currentWorksheet = pck.Workbook.Worksheets[];
if (workBook != null)
{
if (workBook.Worksheets.Count > )
{
currentWorksheet.Cells[, ].Value = Convert.ToString("分运单号");
currentWorksheet.Cells[, ].Value = Convert.ToString("申报类型");
currentWorksheet.Cells[, ].Value = Convert.ToString("物品名称");
currentWorksheet.Cells[, ].Value = Convert.ToString("英文物品名称");
currentWorksheet.Cells[, ].Value = Convert.ToString("商品编码");
currentWorksheet.Cells[, ].Value = Convert.ToString("净重(KG)");
currentWorksheet.Cells[, ].Value = Convert.ToString("毛重(KG)");
currentWorksheet.Cells[, ].Value = Convert.ToString("规格/型号");
currentWorksheet.Cells[, ].Value = Convert.ToString("产销城市");
currentWorksheet.Cells[, ].Value = Convert.ToString("币制");
currentWorksheet.Cells[, ].Value = Convert.ToString("申报数量");
currentWorksheet.Cells[, ].Value = Convert.ToString("申报总价");
currentWorksheet.Cells[, ].Value = Convert.ToString("申报计量单位");
currentWorksheet.Cells[, ].Value = Convert.ToString("收件人");
currentWorksheet.Cells[, ].Value = Convert.ToString("收件人城市");
currentWorksheet.Cells[, ].Value = Convert.ToString("收件人地址");
currentWorksheet.Cells[, ].Value = Convert.ToString("收件人电话)");
currentWorksheet.Cells[, ].Value = Convert.ToString("收发件人证件号");
currentWorksheet.Cells[, ].Value = Convert.ToString("包装种类");
currentWorksheet.Cells[, ].Value = Convert.ToString("是否含木质包装");
currentWorksheet.Cells[, ].Value = Convert.ToString("是否为旧物品");
currentWorksheet.Cells[, ].Value = Convert.ToString("是否未低温运输");
currentWorksheet.Cells[, ].Value = Convert.ToString("生产国别");
currentWorksheet.Cells[, ].Value = Convert.ToString("贸易国别"); int i = ;
foreach (DataRow datalist in WayBillList.Rows)
{
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["ExpressCode"].GetString());//盘点ID
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["DeclareType"].GetString());//盘点明细ID
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["CIQNameCn"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["CIQName"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["ProductCode"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["Weight"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["GrossWeight"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["ProductSpec"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["SaleCity"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["Currency"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["QuantityOrder"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["QuantityTotalprice"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["DeclareUnit"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["ConsigneeName"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["CityName"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["ConsigneeAddress"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["ConsigneeMobile"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["ConsigneeIdcard"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["PackagingType"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["IsWoodPackaging"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["IsOldArticles"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["IsColdchain"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["ProductionCountry"].GetString());
currentWorksheet.Cells[i, ].Value = Convert.ToString(datalist["TradeCountry"].GetString());
i++;
}
}
}
//下载到指定位置路径文件.xlsx
var folder = HttpContext.Current.Server.MapPath("/Upload/download/");
Directory.CreateDirectory(folder);
url = "/Upload/download/订单数据" +DateTime.Now.ToString("yyyyMMddHHmmss")+".xlsx";
string pathInfoList = HttpContext.Current.Server.MapPath(url); pck.SaveAs(new FileInfo(pathInfoList));
}
info.Result = true;
info.Data = url;
info.Msg = "导出成功!";
}
catch (Exception ex)
{
info.Result = false;
info.Msg = "错误信息:" + ex.Message;
}
return info;
}
#endregion

c# 导出表格 api的更多相关文章

  1. vue+element 使用Export2Excel导出表格组件

    下载表格组件是根据我自己的业务需求来封装的 使用的是vue中 xlsx 的插件,需要安装新的依赖及配置 仅供参考 不保证和你百分百匹配 安装依赖 npm install -S file-saver x ...

  2. 百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里?

    好多人在问:如何将百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里? 现在,很多人都在网络上找商家,联系业务. 百度地图里有很多的商家联系 ...

  3. poi 导入导出的api说明(大全)

    原文链接:http://www.cnblogs.com/qingruihappy/p/8443101.html poi 导入导出的api说明(大全) 一. POI简介 ApachePOI是Apache ...

  4. 第四十四条:为所有导出的API元素编写文档注释

    简而言之,要为API编写文档,文档注释是最好,最有效的途径.对于所有可导出的API元素来说,使用文档注释应该被看作是强制性的.要 采用一致的风格来遵循标准的约定.记住,在文档注释内部出现任何的HTML ...

  5. vue中使用导出表格功能

    1.下载依赖 npm install -S file-saver xlsx npm install -D script-loader 2.在src下创建vendor文件夹,并在文件夹中放两个文件 Bl ...

  6. C# DevExpress GridControl导出表格【转】

    DevExpress的GridControl提供方便的数据导出功能,可以方便的导出Exce,PDF,Html页面,world形式,无需写额外的代码,方便.快捷. /// <summary> ...

  7. PHP读取excel表格,和导出表格

    读取表格 public function excel(){ import("Common.Vendor.Excel.PHPExcel"); $filename="./fi ...

  8. VB查询数据库之导出表格——机房收费总结(四)

    在机房收费系统中,有几个窗体需要导出数据到EXCEL表格中,如:学生上机记录查询窗体.学生充值记录查询窗体.收取金额查询窗体等. 前面的几篇总结,大家建议我不要把代码写的太详细,这样,不利于读者思考, ...

  9. html5的导出表格功能

    最近遇到一个需要导出表格的需求,研究了一下nodeJs的excel模块及好多其他的插件,发现还是蛮复杂的,由于项目对于表格的要求不高,因此同事推荐了一种h5的表格导出生成方法,比较简单,在此记录一下 ...

随机推荐

  1. 最长公共子序列(LCS)最长递增子序列(LIS)

    #include<cstring>#include<iostream>#include<stack>#include <algorithm>using ...

  2. Win7 VS2015 NASM汇编语言环境配置

    参考了以下两个博客文章 http://blog.csdn.net/x356982611/article/details/51260841 http://www.cnblogs.com/antonioz ...

  3. sqlserver数据库创建快照发布遇到的错误:对路径“XXXX”访问被拒绝

    在创建了一个sqlserver数据库的发布后,显示创建成功,但当查看快照代理状态时,显示“对路径‘XXXX’访问被拒绝”,这一错误导致订阅无法实现.然后网上有一方案帮忙解决了,主要有以下操作: 1)在 ...

  4. C++ MFC棋牌类小游戏day3

    今天开始设计小人棋子. 画法跟画虎一样,唯一不一样的是小人在刚开始会有重叠的情况,所以画起来可能比虎的棋子能够难一点. 我打算用Location结构体中的num来标记每个棋盘坐标存在棋子的个数,isH ...

  5. 【部署问题】解决Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid" failed(2:No such file or directory)

    问题:环境问题 解决方法: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 使用nginx -c的参数指定nginx.c ...

  6. springmvc接收数组方式总结

    1.接受正常的数组 如param1=aaa&param1=bbb&param1=3 对于这种,在实体参数中,使用String param1[] 这种参数既可以获取数组的值 2.接受数组 ...

  7. PowerShell工作流学习-1-嵌套工作流和嵌套函数

    关键点: a)嵌套深度没有任何语法限制,但是嵌套三个层次的工作流不支持任何通用参数,包括工作流通用参数 b)嵌套工作流可以调用当前范围和任何父范围内的工作流和函数 c)工作流不允许递归调用,脚本和函数 ...

  8. Oracle通过序列+触发器实现主键自增

    接触oracle没多久,在建表的时候发现还不会如何设置主键自动增长.和mysql的设置为AUTO_INCREMENT属性相比,要复杂很多,所以现在记录起来. 我使用的是序列+触发器的方式. 现在已经创 ...

  9. 关不掉的小姐姐程序python tkinter实现 学习---打包教程

    首先,我们先准备两个.py文件,还要图片文件         代码//是我自己手写的,copy时记得删掉,不然有可能错误,比如中英文啥的    当然 一些语法的无问题就百度,都能给你答案 第一个.py ...

  10. docker中gitlab-runner配置

    1.启动gitlab-runner docker run -d --name gitlab-runner --restart always \ -v /opt/data/gitlab-runner/c ...