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. vue-学习系列之vue双向绑定原理

    一.访问器属性 访问器属性是对象中的一种特殊属性,它不能直接在对象中设置,而必须通过 defineProperty() 方法单独定义. var obj = { }; // 为obj定义一个名为 hel ...

  2. h5移动网页唤起App

    最近这个困惑了很久,不断的有一些坑,目前还有疑问关于iOS唤起无效时会出现弹框的问题,这个最后再说 1.首先可能需要判断当前浏览器的来源(目前开发的App还没有上架,所以针对腾讯出品的大家广为人知的微 ...

  3. MySQL insert语句锁分析

    最近对insert的锁操作比较费解,所以自己动手,一看究竟.主要是通过一下三个sql来看一下执行中的sql的到底使用了什么锁. select * from information_schema.INN ...

  4. uniDBGrid实行多选表格行

    http://blog.csdn.net/shuiying/article/details/11374655 uniDBGrid本身是支持checkBox多选的,但必须是Boolean的字段才行,只要 ...

  5. Elastic-search在linux上的安装

    今天是我装第四次 ES ,之前装好用了一段时间,后面莫名其妙爆炸了,炸出一堆异常... 安装环境: JDK1.8   centos    ElasticSearch-6.2.4 jdk1.8以上,所以 ...

  6. turtle库实现汉诺塔

    import turtleturtle.screensize(800,800) class Stack: def __init__(self): self.items = [] def isEmpty ...

  7. Java-大数据方向学习和已掌握知识点整理

    现在的项目是大数据相关项目,一路走来从最初的 C 开发到 Java 再到 大数据,不容易 大数据方向知识点太多,优先掌握了主流的一些技术并运用到了现在的项目中 另外也整理了一份java开发和项目管理方 ...

  8. python实现stack并测试

    栈(stack)又名堆栈,它是一种运算受限的线性表.其限制是仅允许在表的一端进行插入和删除运算. 这一端被称为栈顶,相对地,把另一端称为栈底.向一个栈插入新元素又称作进栈.入栈或压栈,它是把新 元素放 ...

  9. C++Primer笔记之复制控制

    复制控制这一节需要注意的地方不多,主要有以下几点: 1.定义自己的复制构造函数 什么时候需要定义自己的复制构造函数,而不用系统提供的,主要遵循以下的经验说明: 某些类必须对复制对象时发生的事情加以控制 ...

  10. 一站式SpringBoot for NoSQL Study Tutorial 开发教程学习手册

    SpringBoot2.0 + NoSQL使用教程,项目名称:“SpringBoot2NoSQL” 项目地址: https://gitee.com/475660/SpringBoot2NoSQL 项目 ...