笑着宣泄悲伤 2021-07-01 10:24 采纳率: 77.8%
浏览 231
已结题

C# 把SQL的查询结果导入excel固定模板

SELECT MO.MOCODE AS 工单,
       QC2.ITEMCODE AS 项目编码, 
       CU.CUSTOMERNAME AS 客户,
       MO.INPUTQTY AS 检查数量,
       QC1.ITEMCODE AS 检查项目编码,
       QC1.ITEMNAME AS 检查项目名称,
       QC1.LIMITLOW AS 下限值,
       QC1.LIMITHIGH AS 上限值,
       QC1.QCVALUE AS 实测值,
       CASE WHEN QC1.RESULT='0' THEN '不合格' ELSE '合格' END AS 检查结果, 
       QC1.CREATIONTIME AS 检查时间
  FROM QC_FLQC_SAMPLE_D QC1
INNER JOIN QC_FLQC_H QC2
    ON QC2.ID = QC1.FLQCID
INNER JOIN PRD_MO MO
    ON QC2.MOCODE = MO.MOCODE 
   AND QC2.ITEMCODE = MO.ITEMCODE
INNER JOIN BAS_CUSTOMER CU
    ON MO.CUSTOMERCODE = CU.CUSTOMERCODE
WHERE QC2.PROCESSCODE IN ('MAN001', 'MAN002')
AND mo.mocode='106K23X-1' AND qc1.itemcode NOT LIKE '%构造%'

根据上面的SQL语句的查询结果如图所示,当mo.mocode不同时,查询的结果也会有所区别

img 然后现在把查询到的结果需要导入到空白的excel模板中,做到下面的效果

img

img

还有,当工单不同时,电气检查可能也会变多,参考模板;尺寸的检验项目也可能会变多,也就是当有QA检查尺寸013,014...时,如下图,会有一个尺寸附加页(另一个sheet),需要把L11开始的数据填充到这个附加页中

img

现在有两种思路,一种是把查询结果导出为datagridview然后填充到模板中,另一种思路是把数据填入到一个sheet,然后模板里的内容就取sheet里面固定单元格的内容

可以不用我这两个思路,哪种最简单就用哪种方式,给一下全套代码谢谢大佬们咯

  • 写回答

3条回答 默认 最新

报告相同问题?