要求是这样滴!
  有多个客户的信息数据,需要将这些数据导出到excel文件,如果将所有客户或单个客户的信息导出,这个功能我已经实现。现在问题是,到导出数据的时候,分别将每个客户的信息导出excel文件。
 如 A、B、C 三个客户信息,通过查询将所有客户的信息查询出来,然后到导出excel文件时候,A客户生成一个excel文件,B客户生成一个excel文件,C客户同理。<我不知道这样描述各位大侠是否能看的明白>
 用什么方法可以实现呢?救命啊………………急!很急!!!!拜托啦!!!!批量导出Excel文件导出excelExcel

解决方案 »

  1.   

    http://bbs.csdn.net/topics/370085437
    看看这个,希望对你有帮助
      

  2.   


     public void WriteFileContent(Dictionary<string, ContactInstance> contractFiles)
            {
                try
                {
                    int index = 1;
                    string name = Path.Combine(System.Environment.CurrentDirectory, "test1.xlsx");                if (File.Exists(name) == true)
                    {
                        File.Delete(name);
                    }                foreach (KeyValuePair<string, ContactInstance> var in contractFiles)
                    {
                        Excel.Worksheet wbsheet;                    if (index < 4)
                        {
                            wbsheet = (Excel.Worksheet)this.wbclass.Sheets[4-index];
                            index++;
                        }
                        else
                        {
                            this.wbclass.Sheets.Add(Type.Missing);
                            wbsheet = (Excel.Worksheet)this.wbclass.Sheets[1];
                        }                    int rowNum = 2;                    if (var.Key.Length > 30)
                        {
                            wbsheet.Name = var.Key.Substring(0, 30);
                        }
                        else
                        {
                            wbsheet.Name = var.Key;
                        }                   #region Fill data to sheet cells.
                        wbsheet.Cells[1, 1] = "Name";
                        wbsheet.Cells[1, 2] = "Type";
                        wbsheet.Cells[1, 3] = "Class";
                        wbsheet.Cells[1, 4] = "Inherits";
                        wbsheet.Cells[2, 3] = var.Value.InstanceName;
                        wbsheet.Cells[2, 4] = var.Value.InheritsName;                    foreach (Property pro in var.Value.Properties) 
                        {
                            wbsheet.Cells[rowNum, 1] = pro.PropertyName;
                            wbsheet.Cells[rowNum, 2] = pro.PropertyType;
                            rowNum++;
                        }
                        #endregion                   #region Excel style setting.
                        wbsheet.get_Range(wbsheet.Cells[1, 1], wbsheet.Cells[1, 4]).Interior.ColorIndex = 47;
                        wbsheet.get_Range(wbsheet.Cells[1, 1], wbsheet.Cells[1, 2]).ColumnWidth = 20;
                        wbsheet.get_Range(wbsheet.Cells[1, 3], wbsheet.Cells[1, 4]).ColumnWidth = 30;
                        wbsheet.get_Range(wbsheet.Cells[1, 1], wbsheet.Cells[rowNum, 4]).Font.Name = "Verdana";
                        #endregion
                    }                this.excelApp.DisplayAlerts = false;
                    this.excelApp.AlertBeforeOverwriting = false;
                    
                    this.wbclass.Saved=true;
                    this.wbclass.SaveCopyAs(name);                this.wbclass.Close();
                    this.excelApp.Quit();
                }
                catch (Exception ex)
                {
                    System.Windows.Forms.MessageBox.Show(ex.Message + "\r\n");
                }
                finally
                {
                    AutoContractHelper.ReleaseObject(wbclass);
                    AutoContractHelper.ReleaseObject(excelApp);
                }
            }