을 사용하여 Excel 파일을 생성하려면 데이터 테이블에서 Excel 파일을 생성하는 데 사용하는 코드 링크를 참조하십시오. 나는 파일을 성공적으로 생성 할 수있다.Microsoft Open SDK 2.0에서 C#
그러나 문제/도전/질문은 다음과 같습니다.
- 나는 데이터 형식에 따라 열을 생성하므로 열 값에 날짜가 포함되어 있으면 숫자가 숫자 인 경우 해당 셀 형식은 날짜 (dd/mm/yyy) 여야합니다. 그래서 ...
- 나는 셀 값을 생성하는 특정 메서드를 볼 수있는 데이터 형식 당 파일을 생성하려고 시도했다. 그러나 문제는 사용자가 파일을 다운로드 할 때 "Excel에서 읽을 수없는 콘텐츠 'filename'을 (를) 발견했습니다.이 통합 문서의 내용을 복구하겠습니까?"라는 경고 메시지가 나타납니다. 나는 그 경고 메시지가 오기를 원하지 않는다.
- 모든 것을 형식없이 텍스트로 쓰고 있다면 경고 메시지없이 파일이 열리고 파일을 다운로드 한 후 사용자가 날짜 또는 숫자 형식으로 각 열을 형식화하려고하면 사용자가 형식/슬라이스 & 주사위를 허용하지 않습니다. 엑셀 파일의 데이터.
참조 : - http://www.codeproject.com/Articles/263106/Export-Tabular-Data-in-CSV-and-Excel-Formats-Throu
는 사람이있는 경우 나 해결책을 알려 주시기 바랍니다.
나는 DocumentFormat.OpenXml.dll
private Cell CreateTextCell(string header, UInt32 index, string text)
{
var cell = new Cell {DataType = CellValues.InlineString, CellReference = header + index};
var istring = new InlineString();
var t = new Text {Text = text};
istring.Append(t);
cell.Append(istring);
return cell;
}
private Cell CreateDateCell(string header, UInt32 index, DateTime sDate)
{
Cell cell = new Cell();
cell.DataType = CellValues.Date;
cell.CellReference = header + index;
cell.StyleIndex = UInt32Value.FromUInt32(14);
cell.CellValue = new CellValue { Text = sDate.ToOADate().ToString() };
return cell;
}
private Cell CreateNumberCell(string header, UInt32 index, string text)
{
Cell cell = new Cell();
cell.DataType = CellValues.Number;
cell.CellReference = header + index;
cell.CellValue = new CellValue(text);
return cell;
}
제안 사항 : EPPLUS와 같은 것을 사용하십시오. Open XMl SDK의 저수준 배관을 감추는 것은 아주 좋은 일입니다. 나는 둘 다 함께 일했고 내가 EPPLUS를 얼마나 좋아하는지 말할 수 없다; –
은 무료 도구인가? – pm86
예, 라이센스가 개발자에게 아주 좋습니다. –