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. CentOS7 启动中文输入法

    CentOS 系统中是带有中文输入法的(智能拼音),启动方式如下: Applications --> System Tools -->  Setting --> Region &am ...

  2. 12. The Biggest Safety Threat Facing Airlines 航空公司面临的最大安全威胁

    12. The Biggest Safety Threat Facing Airlines 航空公司面临的最大安全威胁 (1) The biggest safety threat facing air ...

  3. Maven二

    1 回顾 1.1 Maven的好处 节省空间 对jar包做了统一管理 依赖管理 一键构建 可跨平台 应用在大型项目可提高开发效率 1.2 Maven安装部署配置 1.3 Maven的仓库 本地仓库 远 ...

  4. cp备份操作时如何忽略指定的目录

    需求场景:进行CP拷贝备份的时候,子目录里面的某些大文件或是一些log文件是无需备份的,那么在CP操作时需要忽略掉指定的目录. 案例演示如下:备份data目录,但是不包括里面的share子目录. 先看 ...

  5. 23.HashMap

    HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在.在HashMap中,key-value总是会当做一个整体来处理,系统会根据 ...

  6. tarjan求强连通分量+缩点+割点/割桥(点双/边双)以及一些证明

    “tarjan陪伴强联通分量 生成树完成后思路才闪光 欧拉跑过的七桥古塘 让你 心驰神往”----<膜你抄>   自从听完这首歌,我就对tarjan开始心驰神往了,不过由于之前水平不足,一 ...

  7. eclipse经常出现——未响应!!!

    现象:启动eclipse缓慢,启动完成经常出现未响应情况.偶然在打开一个项目时候,也出现未响应. 原因:虚拟内存不足,或者电脑本身内存不足.但是目前绝大多数PC而言,内存应该是充足的,因此可以修改虚拟 ...

  8. R语言-编写自定义函数 ZZ

    一.函数构造器 每一个R函数都包括三个部分:函数名,程序主体以及参数集合,在编写自定义R函数时,需要将三个部分各自储存在一个R对象中.这里需要使用function函数,形如: my_function& ...

  9. Mybatis延迟加载、缓存

    一.Mybatis中的延迟加载 1.延迟加载背景:Mybatis中Mapper配置文件中的resultMap可以实现高级映射(使用association.collection实现一对一及一对多(多对多 ...

  10. 在 Linux 上如何挂载 qcow2 磁盘镜像

    1.下载qemu-nbd工具 sudo apt-get install qemu-utils 或者 sudo yum install qemu-img 2.加载nbd模块,然后挂载 sudo modp ...