WinForms윈폼 헤더가 2줄 이상 있는 스프레드시트 엑셀 저장 후 파일 열 때 메세지 관련 문의드립니다.
추천0 비추천 0
페이지 정보
작성자 code0201 작성일 2024-01-24 11:13 조회 61회 댓글 0건제품 버전 : 12.45.20193.0
컨트롤 이름 : 스프레드시트
본문
첨부파일
관련링크
스프레드시트에 헤더가 2줄 이상 있는 상태에서 엑셀 저장을 하면 정상적으로 저장은 됩니다
문제가 해당 엑셀 파일을 열 때 아래 메세지가 표시되는데
아마 숫자 셀이랑 관련이 있는 것 같습니다
해당 메세지가 표시되지 않고 정상적으로 파일을 열 수 있는 방법이 있을까요?
아래는 엑셀 저장 시 추가한 코드입니다.
private void btnExcel_Click(object sender, EventArgs e)
{
string fileName = "테스트";
// 엑셀 파일 저장 경로 Get
string filePath = GetSaveFilePath(fileName);
fpSpread.SuspendLayout();
const int headerRowsToAdd = 3;
const int columnsToMerge = 4;
fpSpread.ActiveSheet.ColumnHeader.Rows.Add(0, headerRowsToAdd);
fpSpread.ActiveSheet.Models.ColumnHeaderSpan.Add(0, 0, 1, columnsToMerge);
fpSpread.ActiveSheet.Models.ColumnHeaderSpan.Add(1, 0, 1, columnsToMerge);
fpSpread.ActiveSheet.ColumnHeader.Cells[0, 0].Text = fileName;
// 엑셀 저장
fpSpread.SaveExcel(
filePath,
FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders
| FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat);
fpSpread.ActiveSheet.ColumnHeader.Rows.Remove(0, 3);
fpSpread.ResumeLayout();
}
private string GetSaveFilePath(string fileName)
{
using (SaveFileDialog fdlg = new SaveFileDialog())
{
// 초기 경로 - 바탕화면
fdlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
fdlg.DefaultExt = "xlsx";
fdlg.FileName = $@"{fileName}.xlsx";
fdlg.Filter = "Excel형식(*.xlsx)|*.xlsx";
fdlg.OverwritePrompt = true; // 이미 존재하는 파일 이름을 입력할 때 경고 표시 ON
// fdlg.RestoreDirectory = true; // 이전에 열려 있던 경로 복원 ON
return fdlg.ShowDialog() == DialogResult.OK ? fdlg.FileName : null;
}
}
댓글목록
등록된 댓글이 없습니다.