여러 탭/시트가 있는 csv가 가능합니까?
웹 서비스를 호출하고 있는데 웹 서비스의 데이터는 csv 형식입니다.데이터를 xls/xlsx로 저장하려고 하면 워크북에 여러 장이 표시됩니다.c#의 멀티플렛 탭/시트를 사용하여 데이터를 csv에 저장하려면 어떻게 해야 합니까?
여러 탭이 있는 csv가 실용적이지 않다는 것을 알지만 여러 탭/시트가 있는 csv에 데이터를 저장할 수 있는 방법이나 라이브러리가 있습니까?
CSV는 파일 형식으로서 하나의 "테이블"의 데이터를 가정합니다.Excel 용어로 말하면 워크북의 한 시트입니다.단순한 텍스트로 원하는 대로 해석할 수 있지만 '표준' CSV 형식은 슈퍼바이저의 생각을 지원하지 않습니다.
원하는 것을 몇 가지 방법으로 조작할 수 있습니다.
"Book1_Sheet1", "Book1_Sheet2"와 같이 관련되지만 고유한 이름을 가진 다른 파일을 각 시트에 사용합니다.그런 다음 첫 번째 밑줄 앞에 있는 텍스트를 기준으로 관련 파일 그룹을 찾을 수 있습니다.이 방법은 구현이 가장 간단하지만 사용자가 논리적인 "워크북"마다 여러 파일을 이리저리 옮겨야 합니다.또한 셔플 중에 파일을 하나 잃어버리면 데이터가 손실됩니다.
위의 작업을 수행하고 파일을 이동할 수 있는 단일 아카이브로 "zip"할 수도 있습니다.위의 옵션의 완전한 CSV의 이점뿐만 아니라 여러 개의 파일이 아닌 하나의 파일을 이동할 수 있다는 편리함도 유지하지만 실제 파일을 얻기 위해 아카이브를 압축/압축 해제해야 하는 단점이 있습니다.에 있는 경우 통증을 완화하기 위해.NET 4.5는 내장 Zip File 구현에 액세스할 수 있으며, 그렇지 않은 경우 오픈 소스 DotNetZip 또는 SharpZipLib을 사용할 수 있습니다. 이 중 어느 것이든 표준 Windows ZIP 파일을 프로그래밍 방식으로 생성하여 사용할 수 있습니다.또한 거의 범용적인 .tar.gz(일명 .tgz) 조합을 사용할 수도 있지만 내보낸 CSV 세트에서 아카이브를 작성하려면 프로그램 또는 7Zip 또는 WinRAR 등의 서드파티 압축 도구가 필요합니다.
공백 행(새 행만 포함)이 "탭 구분 기호"로 기능하고 파서가 새 구성에서 열 헤더 행과 데이터 행을 차례로 예상하는 준 CSV 형식을 구현합니다.이 표준 CSV의 변형은 CSV의 다른 사용자가 읽을 수 없는 경우가 있습니다.따라서 확장자 ".csv"는 스프레드시트 등의 다른 애플리케이션에서 열 수 있을 것으로 예상하는 사용자에게 혼란을 주고 혼란을 주기 때문에 사용하지 않는 것이 좋습니다.
데이터를 xls/xlsx로 저장하려고 하면 워크북에 여러 장이 표시됩니다.
질문에 대한 답변은 텍스트/csv를 사용하지 마십시오(여러 시트를 사용할 수 없고, 한 시트도 사용할 수 없습니다. 텍스트/csv에는 시트 같은 것이 없습니다.단, Excel이나 Calc와 같은 일부 응용 프로그램이 시트를 포함하는 형식으로 Import하는 방법이 있습니다). 단, xls, xlsx,ods 또는 시트가 있는 다른 형식입니다.
XLSX와 ODS는 모두 텍스트/csv보다 훨씬 복잡하지만 각각의 형식 중 가장 간단한 형식일 수 있습니다.
이 도서관을 꽤 오랫동안 이용했는데
https://github.com/SheetJS/js-xlsx
xls(x), csv, xml 등의 형식에서 데이터 및 구조를 Import하는 프로젝트입니다만, 그 형식(클라이언트로부터 모두)으로 보존할 수 있습니다.
온라인 데모를 보는 데 도움이 되길 바랍니다.
http://oss.sheetjs.com/js-xlsx/
소스 코드를 엿보거나 GH에서 문제를 제기할 수 있습니까? 하지만 대부분의 코딩은 당신 스스로 해야 할 것 같습니다.
당신은 엑셀 파일의 크기를 줄이고 싶은 것 같습니다.이 경우 xlsb(Excel Binary Workbook 형식)로 저장할 수 있습니다.또한 빈 셀을 모두 삭제하여 파일 크기를 줄일 수 있습니다.
언급URL : https://stackoverflow.com/questions/29615196/is-csv-with-multi-tabs-sheet-possible
'bestsource' 카테고리의 다른 글
iOS 앱 'The application cannot verify(애플리케이션을 검증할 수 없습니다)'가 한 기기에만 표시됨 (0) | 2023.04.09 |
---|---|
stringByAppendingPathComponent를 사용할 수 없습니다. (0) | 2023.04.09 |
TextBlock에서 실행 사이의 공백을 제거하는 방법 (0) | 2023.04.09 |
Windows에서의 Python os.path.join (0) | 2023.04.09 |
PowerShell 어레이에서 중복된 값 제거 (0) | 2023.04.09 |