excel PivotTable 透视表

开发数据导出excel功能,设置导出透视表
数据源:
在这里插入图片描述透视表:
在这里插入图片描述使用插件EPPlus

数据源:

IF OBJECT_ID('tempdb..#temptable') IS NOT NULL
    DROP TABLE #temptable;
CREATE TABLE #temptable ( [PROJECT] varchar(50), [PRODUCT_CODE] varchar(80), [BRANCH] varchar(120), [BIN_NUM] varchar(120), [PART_NO] varchar(max), [07-01] decimal(10,2), [07-02] decimal(10,2), [07-03] decimal(10,2), [07-04] decimal(10,2), [07-05] decimal(10,2), [07-06] decimal(10,2), [07-07] decimal(10,2), [07-08] decimal(10,2), [07-09] decimal(10,2), [07-10] decimal(10,2), [07-11] decimal(10,2), [07-12] decimal(10,2), [07-13] decimal(10,2), [07-14] decimal(10,2), [07-15] decimal(10,2), [07-16] decimal(10,2), [07-17] decimal(10,2), [07-18] decimal(10,2), [07-19] decimal(10,2), [07-20] decimal(10,2), [07-21] decimal(10,2), [07-22] decimal(10,2), [07-23] decimal(10,2), [07-24] decimal(10,2), [07-25] decimal(10,2), [07-26] decimal(10,2), [07-27] decimal(10,2), [07-28] decimal(10,2), [07-29] decimal(10,2), [07-30] decimal(10,2), [07-31] decimal(10,2) )
INSERT INTO #temptable
VALUES
( N'CDGR4', N'SIOB', N'Normal production', N'SIOB-Nor', N'4600-01-0152/4600-01-0153/4600-01-0154/4600-01-0155/4600-01-0201/4600-01-0202/4600-01-0203/4600-01-0204/4600-01-0148/4600-01-0149/4600-01-0150/4600-01-0151', 13810.00, 16972.00, 30013.00, 29498.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'SIOB', N'RWK SIOB', N'SIOB-RW', N'4600-01-0152/4600-01-0153/4600-01-0154/4600-01-0155/4600-01-0201/4600-01-0202/4600-01-0203/4600-01-0204/4600-01-0148/4600-01-0149/4600-01-0150/4600-01-0151/4600-02-0042/4600-02-0043/4600-02-0044/4600-02-0045/4600-01-0042/4600-01-0043/4600-01-0044/4600-01-0045/4600-02-0010/4600-02-0011/4600-02-0012/4600-02-0013/4600-01-0010/4600-01-0011/4600-01-0012/4600-01-0013/4600-02-0201/4600-02-0202/4600-02-0203/4600-02-0204', 3448.00, 3646.00, 3646.00, 3782.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'SIOB', N'SIOB 半成品仓', N'AK003-01', N'4600-02-0042/4600-02-0043/4600-02-0044/4600-02-0045/4600-01-0042/4600-01-0043/4600-01-0044/4600-01-0045/4600-02-0010/4600-02-0011/4600-02-0012/4600-02-0013/4600-01-0010/4600-01-0011/4600-01-0012/4600-01-0013/4600-02-0201/4600-02-0202/4600-02-0203/4600-02-0204', 55114.00, 39107.00, 29549.00, 33787.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'ROSA', N'Normal production(与VFR8共用)', N'RX-Nor', N'2611-03-0139/2611-01-0344', -331.00, 6103.00, 6103.00, 5894.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'ROSA', N'RMA', N'RX-RMA', N'9643-81-2029/9643-81-2030/9643-81-2001', 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'ROSA', N'RWK Module(含AMT)', N'RX-RW', N'4100-01-0123/4100-01-0124/9643-81-2029/9643-81-2030/9643-81-2001', 5.00, 5.00, 5.00, 5.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'ROSA', N'RWK RX', N'RX-RW', N'2611-03-0139/2611-01-0344', 1048.00, 1048.00, 1186.00, 1203.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'ROSA', N'RWK TOSA', N'RX-RW', N'4300-01-0052', 68.00, 98.00, 93.00, 93.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'ROSA', N'RX 半成品仓', N'AK003-02', N'4300-01-0052', 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'TOSA', N'Normal production', N'TOSA-Nor', N'4300-01-0052/4300-03-0052', 1389.00, 2318.00, 1595.00, 1549.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'TOSA', N'RMA', N'TOSA-RMA', N'9643-81-2029/9643-81-2030/9643-81-2031', 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'TOSA', N'RWK Module(含AMT)', N'TOSA-RW', N'4100-01-0123/4100-01-0124/9643-81-2029/9643-81-2030/9643-81-2001', 0.00, 0.00, 356.00, 234.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'TOSA', N'RWK TOSA', N'TOSA-RW', N'4300-01-0052/4300-03-0052', 0.00, 200.00, 409.00, 167.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'TOSA', N'TOSA 半成品仓', N'AK003-01', N'4100-01-0123/4100-01-0124/4100-03-0123', 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'Module', N'Normal production', N'Module-Nor', N'4100-01-0123/4100-01-0124/4100-03-0123', 3540.00, 3627.00, 3818.00, 3550.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'Module', N'RMA', N'Module-RMA', N'9643-81-2029/9643-81-2030/9643-81-2031/9643-81-2001', 53.00, 53.00, 53.00, 53.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'Module', N'RWK(含AMT)', N'Module-RW', N'4100-01-0123/4100-01-0124/9643-81-2029/9643-81-2030/9643-81-2001', 0.00, 0.00, 218.00, 88.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'FA', N'RMA', N'SM-FA', N'9643-81-2029/9643-81-2030/9643-81-2031', 22.00, 22.00, 22.00, 22.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'FA', N'RWK', N'SM-FA', N'9643-81-2029/9643-81-2030/9643-81-2031', 169.00, 168.00, 167.00, 167.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'返修拉', N'RN Module', N'SM-RW Line', N'4100-01-0123/4100-01-0124', 1877.00, 1884.00, 1847.00, 1916.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'返修拉', N'RN RX', N'SM-RW Line', N'2611-03-0139/2611-01-0344', 62.00, 42.00, 68.00, 68.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'返修拉', N'RN TOSA', N'SM-RW Line', N'4300-01-0052', 626.00, 632.00, 714.00, 729.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'返修拉', N'RWK Module', N'SM-RW Line', N'4100-01-0123/4100-01-0124', 1067.00, 1150.00, 1357.00, 1585.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'返修拉', N'RWK RX', N'SM-RW Line', N'2611-03-0139/2611-01-0344', 227.00, 171.00, 194.00, 352.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'CDGR4', N'返修拉', N'RWK TOSA', N'SM-RW Line', N'4300-01-0052', 1048.00, 1136.00, 1159.00, 1119.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'SIM', N'SIOB', N'Normal production', N'SIOB-Nor', N'4600-01-0087/4600-01-0088/4600-01-0089/4600-01-0090', -2008.00, 573.00, 573.00, 484.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'SIM', N'SIOB', N'RWK SIOB', N'SIOB-RW', N'4600-01-0087/4600-01-0088/4600-01-0089/4600-01-0090/4600-01-0001/4600-01-0002/4600-01-0003/4600-01-0004/4600-01-0005/4600-01-0006/4600-01-0007/4600-01-0008', 718.00, 753.00, 790.00, 728.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'SIM', N'SIOB', N'SIOB 半成品仓', N'AK003-01', N'4600-01-0001/4600-01-0002/4600-01-0003/4600-01-0004/4600-01-0005/4600-01-0006/4600-01-0007/4600-01-0008', 6052.00, 2752.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'SIOB', N'Normal production', N'SIOB-Nor', N'4600-01-0181/4600-01-0182/4600-01-0183/4600-01-0184/4600-01-0185/4600-01-0186/4600-01-0187/4600-01-0188/4600-01-0105/4600-01-0106/4600-01-0107/4600-01-0108/4600-01-0109/4600-01-0110/4600-01-0111/4600-01-0112/4600-01-0113/4600-01-0114/4600-01-0115/4600-01-0116/4600-01-0117/4600-01-0118/4600-01-0119/4600-01-0120/4600-02-0140/4600-02-0141/4600-02-0142/4600-02-0143/4600-02-0144/4600-02-0145/4600-02-0146/4600-02-0147', -15326.00, 476.00, 476.00, 476.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'SIOB', N'RWK SIOB', N'SIOB-RW', N'4600-01-0181/4600-01-0182/4600-01-0183/4600-01-0184/4600-01-0185/4600-01-0186/4600-01-0187/4600-01-0188/4600-01-0105/4600-01-0106/4600-01-0107/4600-01-0108/4600-01-0109/4600-01-0110/4600-01-0111/4600-01-0112/4600-01-0113/4600-01-0114/4600-01-0115/4600-01-0116/4600-01-0117/4600-01-0118/4600-01-0119/4600-01-0120/4600-02-0140/4600-02-0141/4600-02-0142/4600-02-0143/4600-02-0144/4600-02-0145/4600-02-0146/4600-02-0147/4600-01-0062/4600-01-0063/4600-01-0064/4600-01-0065/4600-01-0066/4600-01-0067/4600-01-0068/4600-01-0069/4600-01-0070/4600-01-0071/4600-01-0072/4600-01-0073/4600-01-0074/4600-01-0075/4600-01-0076/4600-01-0077/4600-02-0181/4600-02-0182/4600-02-0183/4600-02-0184/4600-02-0185/4600-02-0186/4600-02-0187/4600-02-0188/4600-01-0078/4600-01-0079/4600-01-0080/4600-01-0081/4600-02-0078/4600-02-0079/4600-02-0080/4600-02-0081/4600-02-0062/4600-02-0063/4600-02-0064/4600-02-0065/4600-02-0066/4600-02-0067/4600-02-0068/4600-02-0069', 2446.00, 4217.00, 4218.00, 4928.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'SIOB', N'SIOB 半成品仓', N'AK003-01', N'4600-02-0081/4600-02-0062/4600-02-0063/4600-02-0064/4600-02-0065/4600-02-0066/4600-02-0067/4600-02-0068/4600-02-0069/4600-01-0062/4600-01-0063/4600-01-0064/4600-01-0065/4600-01-0066/4600-01-0067/4600-01-0068/4600-01-0069/4600-01-0070/4600-01-0071/4600-01-0072/4600-01-0073/4600-01-0074/4600-01-0075/4600-01-0076/4600-01-0077/4600-02-0181/4600-02-0182/4600-02-0183/4600-02-0184/4600-02-0185/4600-02-0186/4600-02-0187/4600-02-0188/4600-01-0078/4600-01-0079/4600-01-0080/4600-01-0081/4600-02-0078/4600-02-0079/4600-02-0080/4600-02-0081', 44201.00, 42297.00, 33860.00, 33860.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'ROSA', N'Normal production', N'RX-Nor', N'2611-03-0139/2611-01-0344', -331.00, 6103.00, 6103.00, 5894.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'ROSA', N'RMA', N'RX-RMA', N'9643-81-1116/9643-81-1117/9643-81-1118/9643-81-1101', 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'ROSA', N'RWK Module(含AMT)', N'RX-RW', N'4100-01-0122/4100-01-0121/9643-81-1116/9643-81-1117/9643-81-1118/9643-81-1101', 252.00, 246.00, 246.00, 260.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'ROSA', N'RWK RX', N'RX-RW', N'2611-03-0139/2611-01-0344', 1048.00, 1048.00, 1186.00, 1203.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'ROSA', N'RWK TOSA', N'RX-RW', N'4300-01-0051/4300-01-0053', 85.00, 175.00, 141.00, 141.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'ROSA', N'RX 半成品仓', N'AK003-02', N'4300-01-0051', 361.00, 361.00, 361.00, 361.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'TOSA', N'Normal production', N'TOSA-Nor', N'4300-01-0051/4300-01-0053', -647.00, 407.00, 407.00, 407.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'TOSA', N'RMA', N'TOSA-RMA', N'9643-81-1116/9643-81-1117/9643-81-1118/9643-81-1101', 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'TOSA', N'RWK Module(含AMT)', N'TOSA-RW', N'4100-01-0122/4100-01-0121/9643-81-1116/9643-81-1117/9643-81-1118/9643-81-1101', 180.00, 248.00, 210.00, 150.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'TOSA', N'RWK TOSA', N'TOSA-RW', N'4300-01-0051/4300-01-0053', 208.00, 395.00, 414.00, 383.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'TOSA', N'TOSA 半成品仓', N'AK003-01', N'4100-01-0121/4100-01-0122/4100-03-0121', 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'Module', N'Normal production', N'Module-Nor', N'4100-01-0121/4100-01-0122/4100-03-0121', 1221.00, 1172.00, 1133.00, 1097.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'Module', N'RMA', N'Module-RMA', N'9643-81-1116/9643-81-1117/9643-81-1118/9643-81-1101', 1524.00, 1524.00, 1524.00, 1524.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'Module', N'RWK(含AMT)', N'Module-RW', N'9643-81-1116/9643-81-1117/9643-81-1118/9643-81-1120/9643-81-1124/4100-01-0121/4100-01-0122/4100-03-0121', 0.00, 0.00, 48.00, 48.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'FA', N'AMT Return', N'SM-FA', N'4100-01-0122/4100-01-0121/4300-01-0051/9643-81-1116/9643-81-1117/9643-81-1118/9643-81-1101', 151.00, 151.00, 151.00, 151.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'FA', N'RWK', N'SM-FA', N'4100-01-0121/4100-01-0122/4100-03-0121', 106.00, 105.00, 105.00, 105.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'返修拉', N'AMT Return', N'SM-RW Line', N'4100-01-0122/4100-01-0121/4300-01-0051/9643-81-1116/9643-81-1117/9643-81-1118/9643-81-1101', 253.00, 278.00, 238.00, 238.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'返修拉', N'RN Module', N'SM-RW Line', N'4100-01-0121/4100-01-0122/4100-03-0121', 23.00, 23.00, 23.00, 22.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'返修拉', N'RN RX', N'SM-RW Line', N'2611-03-0139/2611-01-0344', 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'返修拉', N'RN TOSA', N'SM-RW Line', N'4300-01-0051', 8.00, 8.00, 5.00, 18.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'返修拉', N'RWK Module', N'SM-RW Line', N'4100-01-0121/4100-01-0122/4100-03-0121', 133.00, 146.00, 177.00, 171.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'返修拉', N'RWK RX', N'SM-RW Line', N'2611-03-0139/2611-01-0344', 3.00, 3.00, 8.00, 8.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 ), 
( N'VFR8', N'返修拉', N'RWK TOSA', N'SM-RW Line', N'4300-01-0051', 17.00, 83.00, 36.00, 55.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 )

SELECT * FROM #temptable

前端代码:
导出excel

//报表导出
var WIPReportExport = function (type) {
	var formData = new FormData();
	formData.append('proj_code', $('#cmb_proj_code').val());
	formData.append('product_code', $("#cmb_product_code").val());
	formData.append('month', $("#cmb_month").val());
	ExportType = type;
	var url = api + "/ReportAction/ErpWipReportToExcel";
	PostExportToExcel(url, formData);
}
//POST 参数不固定 导出
var PostExportToExcel = function (url, formData) {
	//GET: var url = "http://localhost:44304/Dashboard/ExportToExcel?" + $.param(pam);
	var xhr = new XMLHttpRequest();
	xhr.open('POST', url, true);
	xhr.responseType = 'blob';
	xhr.onload = function () {
		if (xhr.status === 200) {
			var url = window.URL.createObjectURL(xhr.response);
			var a = document.createElement('a');
			a.href = url;
			a.download = ExportType.toLocaleUpperCase() + '.xlsx';
			a.click();
			window.URL.revokeObjectURL(url);
		}
	};
	xhr.send(formData);
}

后端代码:

生成excel
1、查询#temptable ; var dt = new ReportActionDAO().GetErpWipReport(proj_code,product_code, month);
2、var dataRange = worksheet.Cells[worksheet.Dimension.Address];全选整个数据源 WIPReportData
3、/A3是指在该sheet表中插入数据透视表的位置,"PivotTable1"是指透视表的名字/
var pt = pivotSheet.PivotTables.Add(pivotSheet.Cells[“A3”], dataRange, “PivotTable1”);
4、 //添加行字段 用户分组
pt.RowFields.Add(pt.Fields[0]);
pt.RowFields.Add(pt.Fields[1]);
pt.RowFields.Add(pt.Fields[2]);
5、 //汇总的列
for (int i = 5; i < worksheet.Dimension.End.Column; i++)
{
var dateField = pt.DataFields.Add(pt.Fields[i]);
dateField.Function = DataFieldFunctions.Sum;
dateField.Name = worksheet.Cells[1, i + 1].Value?.ToString();
dateField.Format = “#,##0”;
//dateField.Format = “#,##0.00”;
}

/// <summary>
/// ErpWipReportToExcel
/// </summary>
/// <returns></returns>
[HttpPost]
public HttpResponseMessage ErpWipReportToExcel()
{
	var httpRequest = HttpContext.Current.Request;
	string proj_code = httpRequest.Form["proj_code"].ToString();
	string product_code = httpRequest.Form["product_code"].ToString();
	string month = httpRequest.Form["month"].ToString();
	var dt = new ReportActionDAO().GetErpWipReport(proj_code,product_code, month);
	//var dt = new ReportActionDAO().GetErpWipReport("ALL", "ALL", DateTime.Now.ToString("yyyy-MM"));
	//var dt = datatablecache.GetFromCache("WipReport");
	//datatablecache.RemoveFromCache("WipReport");

	ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
	ExcelPackage package = new ExcelPackage();
	//Report
	var worksheet = package.Workbook.Worksheets.Add("WIPReportData");
	worksheet.Cells["A1"].LoadFromDataTable(dt, true);

	worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns();
	var range = worksheet.Cells[worksheet.Dimension.Address];
	var tableFormat = worksheet.Tables.Add(range, $@"Table{1}");
	tableFormat.TableStyle = OfficeOpenXml.Table.TableStyles.Medium7;

	worksheet.Cells.Style.ShrinkToFit = true;
	worksheet.View.ShowGridLines = false;

	//透视表
	ExcelWorksheet pivotSheet = worksheet.Workbook.Worksheets.Add("WIPReportPivot");
	package.Workbook.Worksheets.MoveToStart("WIPReportPivot");
	pivotSheet.Cells.Style.ShrinkToFit = true;
	pivotSheet.View.ShowGridLines = false;
	if (worksheet.Dimension != null)
	{
		var dataRange = worksheet.Cells[worksheet.Dimension.Address];
		/*A3是指在该sheet表中插入数据透视表的位置,"PivotTable1"是指透视表的名字*/
		var pt = pivotSheet.PivotTables.Add(pivotSheet.Cells["A3"], dataRange, "PivotTable1");
		pt.TableStyle = TableStyles.Medium9;//Medium2
		pt.ColumnGrandTotals = true;
		pt.RowGrandTotals = true; //允许行列汇总计算
		pt.DataOnRows = false;    //将值移至列
		//添加筛选器字段C1在A1
		//pt.PageFields.Add(pt.Fields[0]);  

		pt.RowFields.Add(pt.Fields[0]);
		//添加行字段
		pt.RowFields.Add(pt.Fields[1]);
		pt.RowFields.Add(pt.Fields[2]);
		foreach (var field in pt.RowFields)
		{
			field.SubTotalFunctions = eSubTotalFunctions.None;  //不允许行分类汇总
		}
		//每天 从第5列开始 
		for (int i = 5; i < worksheet.Dimension.End.Column; i++)
		{
			var dateField = pt.DataFields.Add(pt.Fields[i]);
			dateField.Function = DataFieldFunctions.Sum;
			dateField.Name = worksheet.Cells[1, i + 1].Value?.ToString();
			dateField.Format = "#,##0";
			//dateField.Format = "#,##0.00";
		}
		/*使数据透视表的报表形式为表格形式*/
		foreach (var field in pt.Fields)
		{
			field.Outline = false;
			field.Compact = false;
			field.ShowAll = false;
			field.SubtotalTop = false;
		}

		//切片器
		/*
		var slicer1 = pt.Fields["PROJECT"].AddSlicer();
		slicer1.Caption = "Project";
		slicer1.Cache.PivotTables.Add(pt);
		slicer1.SetPosition(0, 0, 0, 0);
		slicer1.Style = eSlicerStyle.Light4;

		var slicer2 = pt.Fields["PRODUCT_CODE"].AddSlicer();
		slicer2.Caption = "product_Code";
		slicer2.SetPosition(0, 0, 3, 0);
		slicer2.To.Column = 7;

		var slicer3 = pt.Fields["BRANCH"].AddSlicer();
		slicer3.Caption = "Branch";
		slicer3.SetPosition(0, 0, 7, 0);
		slicer3.To.Column = 11;
		*/
	}
	//var fileInfo = new FileInfo("C:\\WIPReport.xlsx");
	//package.SaveAs(fileInfo);

	using (MemoryStream stream = new MemoryStream())
	{
		package.SaveAs(stream);
		stream.Position = 0;
		byte[] excelBytes = stream.ToArray();

		// 创建一个 HttpResponseMessage 对象,并将 Excel 字节数组作为内容返回
		HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
		response.Content = new ByteArrayContent(excelBytes);
		response.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
		response.Content.Headers.ContentDisposition.FileName = $@"WIPReport.xlsx";
		response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

		return response;
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值