2014-02-28 71 views
0

我使用DocumentFormat.OpenXml將我的數據導出到excel表單中。使用asp.net中的固定標題獲取excel導出數據

下面的代碼我使用的Excel表格數據: (我在哪裏可以修改,這樣,我可以凍結頭?)

public static MemoryStream GetStreamFromDataSet(List<WorkSheetData> worksheetDataObjects) 
{ 
    MemoryStream stream = SpreadsheetReader.Create(); 
    using (SpreadsheetDocument spreadSheet = 
     SpreadsheetDocument.Open(stream, true)) 
    {     
     for (int i = 0; i < worksheetDataObjects.Count; i++) 
     { 
      WorksheetPart newWorkSheetPart = 
       spreadSheet.WorkbookPart.AddNewPart<WorksheetPart>(); 
      newWorkSheetPart.Worksheet = new Worksheet(new SheetData()); 
      newWorkSheetPart.Worksheet.Save(); 
      Sheets sheets = 
       spreadSheet.WorkbookPart.Workbook.GetFirstChild<Sheets>(); 
      string relationshipId = 
       spreadSheet.WorkbookPart.GetIdOfPart(newWorkSheetPart); 
      uint sheetId = (uint)i; 
      if (sheets.Elements<Sheet>().Count() > 0) 
      { 
       sheetId = sheets.Elements<Sheet>().Select(s => 
        s.SheetId.Value).Max() + 1; 
      } 

      Sheet sheet = new Sheet() 
      { 
       Id = relationshipId, 
       SheetId = sheetId, 
       Name = worksheetDataObjects[i].TabName 
      }; 

      sheets.Append(sheet); 
      WorksheetWriter writer = 
       new WorksheetWriter(spreadSheet, newWorkSheetPart); 
      SpreadsheetStyle style = 
       SpreadsheetReader.GetDefaultStyle(spreadSheet); 
      style.SetBorder("000000", BorderStyleValues.Thin); 
      style.IsBold = true;      
      for (int x = 0; x < worksheetDataObjects[i].dataTable.Columns.Count; x++) 
      { 
       string columnName = GetExcelColumnValue(x + 1); 
       writer.PasteText(columnName + "1", 
        worksheetDataObjects[i].dataTable.Columns[x].ColumnName, style); 
      } 

      style.IsBold = false; 
      writer.PasteDataTable(worksheetDataObjects[i].dataTable, "A2", style); 
      spreadSheet.WorkbookPart.Workbook.Save(); 
     } 

     //Remove first 3 default tabs (Sheet1 ~ Sheet3) 
     spreadSheet.WorkbookPart.Workbook.Sheets.FirstChild.Remove(); 
     spreadSheet.WorkbookPart.Workbook.Sheets.FirstChild.Remove(); 
     spreadSheet.WorkbookPart.Workbook.Sheets.FirstChild.Remove(); 
    }; 

    return stream;    
} 

我使用有我的所有數據是上面的代碼在excel下載。

請幫我解決..!

回答

0

此信息可能幫助:

Export To Excel

檢查

ws1.View.FreezePanes(2, 1); 
+0

沒有Mandar我使用的OpenXML DLL做operations.Thanks您reply.Please建議我,如果您有任何解決方案爲使用Openxml做固定頭文件。我使用這個http://social.msdn.microsoft.com/Forums/office/en-US/e1c08add-b610-44c9-b60e-fa8ef6c24978/openxmlexcelc?forum=oxmlsdk但它不能幫助我。 – GaneshM

相關問題