C# Excel Interop:값을 텍스트로 저장하는 셀 형식 지정 방법
다음에서 Excel 스프레드시트에 숫자를 쓰는 중입니다.DataTable
숫자 자체의 길이가 5자리 미만인 경우 이 숫자는 모두 5자리이고 0보다 앞의 숫자는 0입니다(예를 들어 395는 00395로 저장됨).
이 숫자들을 엑셀에 입력할 때(C# 사용) 숫자로 저장하고 앞의 0을 제거하는 것입니다.C#에서 셀을 포맷하여 값을 숫자가 아닌 텍스트로 저장할 수 있는 방법이 있습니까?
넌 할 수 있다.SomeRange.NumberFormat = "@";
또는 값 앞에 다음과 같은 기호를 붙입니다.'
그리고 그것을 셀에 적으면 엑셀은 그것을 텍스트로서의 숫자로 처리하고 시각적인 단서를 제공할 것입니다.
이 답변은 우리 회사의 소프트웨어 중 하나에서 솔루션의 주요 문제를 해결하여 표시된 대로 값을 검색해야 했지만, 새 시트에 설정하면 숫자로 삽입됩니다.간단한 해결책.저는 아직 투표를 할 수 없지만, 어떻게 끝났는지에 따라 내려갑니다.
for (int h = 1; h <= 1; h++)
{
int col = lastColl(sheets);
for (int r = 1; r <= src.Count; r++)
{
sheets.Cells[r, col + 1] = "'"+src.Cells[r, h].Text.ToString().Trim();
}
}
//여기서 [1]은 텍스트를 만들 열 번호입니다.
ExcelWorksheet.Columns[1].NumberFormat = "@";
//워크북의 모든 시트에서 특정 열을 포맷하려면 아래 코드를 사용합니다.약간의 변경과 함께 단일 시트의 루프를 제거합니다.
//Excel 파일이 보관되는 경로
string ResultsFilePath = @"C:\사용자\krakhil\데스크탑\TGUW EXCEL\TEST";
Excel.Application ExcelApp = new Excel.Application();
Excel.Workbook ExcelWorkbook = ExcelApp.Workbooks.Open(ResultsFilePath);
ExcelApp.Visible = true;
//Looping through all available sheets
foreach (Excel.Worksheet ExcelWorksheet in ExcelWorkbook.Sheets)
{
//Selecting the worksheet where we want to perform action
ExcelWorksheet.Select(Type.Missing);
ExcelWorksheet.Columns[1].NumberFormat = "@";
}
//saving excel file using Interop
ExcelWorkbook.Save();
//closing file and releasing resources
ExcelWorkbook.Close(Type.Missing, Type.Missing, Type.Missing);
Marshal.FinalReleaseComObject(ExcelWorkbook);
ExcelApp.Quit();
Marshal.FinalReleaseComObject(ExcelApp);
언급URL : https://stackoverflow.com/questions/7583704/c-sharp-excel-interop-how-to-format-cells-to-store-values-as-text
'programing' 카테고리의 다른 글
Spring @RestController 사용자 지정 JSON 역직렬화기 (0) | 2023.07.02 |
---|---|
Mongodb - c# 드라이버로 특정 요소 포함 또는 제외 (0) | 2023.07.02 |
maven 3.8.5가 있는 intelij Idea에서 Springboot 2.7 프로젝트를 가져오는 중 오류 발생했습니다. (0) | 2023.07.02 |
Pandas DataFrame에서 Parquet 파일을 읽는 방법은 무엇입니까? (0) | 2023.06.27 |
Ruby에서 추상 클래스를 구현하는 방법 (0) | 2023.06.27 |