当前位置: 首页 > 工具软件 > MyXLS > 使用案例 >

用org.in2bits.MyXls快速生成excel(即使服务器未安装office也能生成excel)

广宏远
2023-12-01
            Random objRand = new Random();
            org.in2bits.MyXls.XlsDocument xls = new org.in2bits.MyXls.XlsDocument();
            xls.FileName = HttpUtility.UrlEncode("考评情况表" + DateTime.Now.ToString("yyyy-MM-dd") + Convert.ToString(objRand.Next(1000)) + ".xls");  // 必须设置一个文件名
            //添加工作表,并设置名称 
            org.in2bits.MyXls.Worksheet sheet = xls.Workbook.Worksheets.AddNamed("考评情况表");//最下面的标题
            //获取单元格对象 
            org.in2bits.MyXls.Cells cells = sheet.Cells;
            org.in2bits.MyXls.XF xf = xls.NewXF();// 格式对象(设置样式用的)
            xf.HorizontalAlignment = org.in2bits.MyXls.HorizontalAlignments.Centered;//左右居中

            cells.Merge(1, 1, 1, 7);
            cells.Add(1, 1, "XXXXXX表", xf);

            cells.Merge(2, 3, 1, 1); //跨2行,跨3列,给第1行,1列写入信息
            cells.Add(2, 1, "标题", xf);

            cells.Merge(2, 2, 2, 7);
            cells.Add(2, 2, "支持工作", xf);
            cells.Merge(3, 3, 2, 2);
            cells.Add(3, 2, "安排工作", xf);
            cells.Merge(3, 3, 3, 3);
            cells.Add(3, 3, "突出问题", xf);
            cells.Merge(3, 3, 4, 4);
            cells.Add(3, 4, "化解纠纷", xf);
            cells.Merge(3, 3, 5, 5);
            cells.Add(3, 5, "处置事件", xf);
            cells.Merge(3, 3, 6, 6);
            cells.Add(3, 6, "管理职能", xf);
            cells.Merge(3, 3, 7, 7);
            cells.Add(3, 7, "合计得分", xf);

           DataSet dsexcel = GetData();

           if(dsexcel != null && dsexcel.Tables.Count>0 &&  dsexcel.Tables[0].Rows.Count>0)

           {

              int j = 4;//从第4行开始写数据
              for (int i = 0; i < dsexcel.Tables[0].Rows.Count; i++)
              {
                cells.Add(j, 1, AreaName(dsexcel.Tables[0].Rows[i]["AID"].ToString()), xf);// 设值
                cells.Add(j, 2, dsexcel.Tables[0].Rows[i]["Arrange"].ToString(), xf);// 设值
                cells.Add(j, 3, dsexcel.Tables[0].Rows[i]["Extrude"].ToString(), xf);// 设值
                cells.Add(j, 4, dsexcel.Tables[0].Rows[i]["Defuse"].ToString(), xf);// 设值
                cells.Add(j, 5, dsexcel.Tables[0].Rows[i]["Handle"].ToString(), xf);// 设值
                cells.Add(j, 6, dsexcel.Tables[0].Rows[i]["CService"].ToString(), xf);// 设值
                cells.Add(j, 7, dsexcel.Tables[0].Rows[i]["Score"].ToString(), xf);// 设值
                //cells.Add(j, 8, dsexcel.Tables[0].Rows[i]["Remo"].ToString(), xf);// 设值
                j++;
              }
           }
            //获取行对象。 
            org.in2bits.MyXls.Rows rows = sheet.Rows;
            // 取第一行,下标从1开始,而不是0 
            org.in2bits.MyXls.Row row = rows[ushort.Parse("4")];
            //下标从1开始,而不是0  
            org.in2bits.MyXls.Cell cell = row.GetCell(ushort.Parse("2"));
            // 如果为null 则初始化为空字符串,否则ToString() 会出错。 
            object obj = cell.Value == null ? "" : cell.Value;
            //创建文件夹
            //if (!System.IO.Directory.Exists(@"D:\Export"))
            //{
            //    System.IO.Directory.CreateDirectory(@"D:\Export");
            //}
            //xls.Save(@"d:\Export");// 保存到服务器某个路径下 
            //下载文件
            xls.Send();  // 发送到客户端
 类似资料: