开发数据导出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;
}
}