コード例 #1
0
        public static void  Save2Xlsx(string fileName, Dictionary <string, List <Order> > order_dic)
        {
            Workbook wb = new Workbook();

            //清除默认的工作表
            wb.Worksheets.Clear();
            List <String> sheetlist = new List <String>();
            //int no = order_dic.Count;
            int no = 1;

            foreach (string key in order_dic.Keys)
            {
                List <Order> orderlist  = order_dic[key];
                string       sn         = orderlist.First().Client;
                string       sheet_name = sn;
                if (sn.Length >= 5)
                {
                    sheet_name = sn.Substring(0, 5);
                }
                if (sheetlist.IndexOf(sn) > -1)
                {
                    int _index = sheetlist.FindAll((String str) => str == sn).Count;
                    //重复客户,页签名+1
                    sheet_name += _index.ToString();
                }
                sheetlist.Add(sn);

                Worksheet st = wb.Worksheets.Add(sheet_name);
                //创建样式
                CellStyle style = wb.Styles.Add("newStyle");
                style.Font.FontName = "宋体";
                style.Font.Size     = 11;
                st.ApplyStyle(style);
                //创建字体
                ExcelFont font1 = wb.CreateFont();
                font1.FontName  = "宋体";
                font1.IsBold    = true;
                font1.Size      = 14;
                font1.Underline = FontUnderlineType.Single;

                Console.WriteLine("no:{0} key:{1} sheet_name:{2}", no, key, sheet_name);
                //foreach (Order order in orderlist)
                //{
                //    Console.WriteLine("key:{0} Model:{1} Num:{2}", key, order.Model, order.Num);
                //}
                FormatXlsx(no, st, font1, orderlist);
                no++;
                Thread.Sleep(5);
            }

            wb.SaveToFile(fileName + "_销售出库单.xlsx", FileFormat.Version2013);
        }