DataTable 컨텐트를 Excel 테이블로 내보내는 두 가지 방법
8645 단어 Datatable
이런 방법은 매우 실현되고 간단하다.문자열을 결합하면 각 셀 사이에'\t'(Tab 키와 같은 자리 표시자)가 추가되고 각 행 사이에'\r'(줄 바꿈 표시)가 추가됩니다.
하지만 이 방법으로는 Excel 셀 스타일을 설정할 수 없습니다.
1. GetSavePath () 방법을 정의하고 SaveFileDialog 컨트롤을 사용하여 Excel 파일을 저장할 경로를 선택합니다.
private string GetSavePath()
{
using (SaveFileDialog savePath = new SaveFileDialog())
{
savePath.Title = " ";
savePath.Filter = "Excel 97-2003|*.xls";
savePath.RestoreDirectory = true; //
savePath.FileName = " ";
if (savePath.ShowDialog() == DialogResult.OK)
{
return savePath.FileName; // Excel
}
return "Cancel";
}
}
2. DataTable 컨텐트를 문자열로 변환하는 GetSWstr () 방법을 정의합니다.
private string GetSWstr(DataTable table2)
{
StringBuilder strHead = new StringBuilder ();
//
for (int i = 0; i < table2.Columns.Count; i++)
{
strHead.Append(table2.Columns[i].Caption.Trim() + '\t');
}
strHead.Append("\r
");
//
for (int i = 0; i < table2.Rows.Count; i++)
{
for (int j = 0; j < table2.Columns.Count; j++)
{
strHead.Append(table2.Rows[i][j].ToString().Trim() + '\t');
}
strHead.Append("\r
");
}
return strHead.ToString();
}
3. Excel 파일에 쓰기 위한 WriteToExcel () 방법 정의
public string WriteToExcel(String str, string filePath)
{
try
{
using (StreamWriter sw = new StreamWriter(filePath, false, System.Text.Encoding.Default)) //
{
sw.Write(str);
}
return " Execl !";
}
catch (Exception ex)
{
return " Execl ! :" + ex.Message;
}
}
4. WriteToExcel 호출
WriteToExcel(GetSWstr(table), GetSavePath());
메서드 2: COM 구성 요소를 사용하여 Excel 작업을 수행하여 Excel 형식을 설정할 수 있습니다.
이런 조작도 매우 간단하다. excel 대상을 정의한 후에 excel을 통과할 수 있다.Cells[i, j]=?어떤 칸에 값을 부여합니다.
range = excel을 통해서도 됩니다.Range[excel.Cells[i, 1], excel.Cells[i, 3]];셀 영역을 가져와서range의 속성을 설정하면 셀 스타일이나 값을 설정할 수 있습니다
range.MergeCells = true;//셀 병합
range.Value = 제목;
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook book = excel.Workbooks.Add(true);
Microsoft.Office.Interop.Excel.Range range = null;
try
{
//
range = excel.Range[excel.Cells[1, 1], excel.Cells[1, 6]];
range.MergeCells = true; ///
range.Font.Bold = true; //
range.Font.Size = 20; //20
range.HorizontalAlignment = XlHAlign.xlHAlignCenter; //
range.Value = " "; //
}
catch(Exception ex)
{
return " ! :" + ex.Message;
}
finally
{
book = null;
range = null;
GC.Collect();
GC.WaitForPendingFinalizers();
excel.Quit();
excel = null;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
yui--datatable 행 추가 형식텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.