2009-11-26 6 views
0

우리는 Response에 HTML 테이블을 작성하여 C# .net 웹 사이트에서 Excel 스프레드 시트를 생성합니다. 이것은 훌륭하게 작동하지만 시트 이름은 파일 이름과 동일하게 설정됩니다.C#으로 생성 된 Excel 스프레드 시트의 시트 이름을 설정하는 방법은 무엇입니까?

설정이 끝나나요? 가져올 때 특정 시트 이름이 필요합니다.

코드 :

string filename = String.Format("{0}-CopyDataBack_{1}.xls", Master.EventID.ToString(), DateTime.Now.ToString("dd-MM-yy_HHmm")); 

Response.Clear(); 
Response.Buffer = true; 
Response.ContentType = "application/vnd.ms-excel"; 
Response.AddHeader("content-disposition", "attachment;filename=" + filename); 
Response.Charset = ""; 
this.EnableViewState = false; 

System.Text.StringBuilder tableOut = new System.Text.StringBuilder(); 
// ... Create an HTML table in a StringBuilder ... 
Response.Write(tableOut); 
Response.End(); 

답변

1

테이블을 생성하고 워크 시트 이름을 정의 할 수 없으며, 더 워크 시트를 작성하는 엑셀에 콘텐츠 형식을 설정하면.

OpenXML SDK을 사용하여 전체 Excel 통합 문서를 생성 할 수 있지만 클라이언트는 Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint 2007 File Formats을 사용하여 Office 2007 파일 형식을 처리해야합니다.

+0

이전 SpreadsheetML 파일 형식을 사용할 수 있지만 차트 등에서는 제한적입니다. 여기에 참조가 있습니다 : http://msdn.microsoft.com/en-us/library/bb226687(office.11).aspx – Ant

+0

@Ant, 멋진 catch, ty –

+0

np :) 주석으로 발견 한 문제점은 당신이 그 (것)들을 쓰면, 응답을 upvote 완전히 잊는다 (해당하는 경우)! – Ant

관련 문제