Excel XLS 파일을 읽기 위한 오픈 소스 C 라이브러리
Microsoft Excel 없이 Excel XLS 파일을 로드, 읽기 및 데이터 추출을 위한 경량이고 빠른 오픈 소스 무료 C 라이브러리.
libxls란 무엇인가요?
Microsoft Excel 파일을 다루는 것은 많은 소프트웨어 애플리케이션에서 일반적인 요구 사항입니다. 최신 스프레드시트는 XLSX 형식을 사용하지만, 수많은 조직이 여전히 레거시 XLS 파일에 의존하고 있습니다. 이러한 파일을 읽고 데이터를 추출하는 것은 바이너리 XLS 형식이 독점적이고 복잡하기 때문에 어려울 수 있습니다. libxls는 이 작업을 단순화하도록 특별히 설계된 오픈 소스 C 라이브러리입니다. 이 라이브러리는 Microsoft Excel이나 외부 Office 구성 요소 없이도 Excel 97–2003 XLS 파일을 빠르고 가볍게 읽을 수 있는 솔루션을 제공합니다.
libxls는 개발자가 Microsoft Excel XLS 스프레드시트에서 정보를 읽고 추출할 수 있게 해주는 휴대용 C 라이브러리입니다. Excel 97–2003(.xls) 파일, 다중 워크시트, 셀 값 및 서식 정보, 유니코드 텍스트, 날짜 및 숫자 추출, 크로스 플랫폼 개발 등을 지원합니다. 사무 자동화 방식과 달리 libxls는 Microsoft Office와 독립적으로 작동하므로 Linux, macOS, Windows 및 임베디드 환경에 적합합니다. 단순성, 이식성 및 성능 덕분에 libxls는 데이터 마이그레이션 도구, 스프레드시트 변환기, 보고 애플리케이션 및 크로스 플랫폼 소프트웨어 프로젝트에서 널리 사용됩니다.
libxls 시작하기
libxls는 라이브러리 빌드 및 설치를 위해 CMake를 지원합니다. 다음 명령을 사용하십시오.
CRAN을 통해 libxls 설치
mkdir build
cd build
cmake ..
make
GitHub에서 libxls 소스 코드 저장소를 복제하십시오. 다음 코드를 사용하십시오.
GitHub을 통해 libxls 설치
git clone https://github.com/libxls/libxls.git
# Or use your preferred protocol instead of https C 라이브러리를 통한 레거시 Excel XLS 파일 읽기
libxls의 가장 큰 강점 중 하나는 Excel 97–2003 바이너리 XLS 파일을 파싱할 수 있다는 점입니다. 이 라이브러리는 이러한 스프레드시트의 내부 구조를 이해하고 Microsoft Excel 없이도 애플리케이션이 행, 열 및 셀 값을 접근할 수 있게 합니다. 이 기능은 여전히 XLS 형식으로 과거 데이터를 보관하는 조직에 특히 유용합니다. 개발자는 가져오기 도구를 쉽게 구축하고 데이터 추출 프로세스를 자동화하면서 오래된 문서와의 호환성을 유지할 수 있습니다. 다음 예제는 UTF-8 인코딩을 사용하여 Excel XLS 워크북을 여는 방법을 보여줍니다. 워크북이 로드되면 개발자는 워크시트를 접근하고 스프레드시트 데이터를 추출할 수 있습니다.
C 라이브러리를 사용하여 Excel XLS 파일을 읽는 방법
#include
int main()
{
xlsWorkBook *workbook;
workbook = xls_open("sample.xls", "UTF-8");
if(workbook)
{
printf("Workbook opened successfully\n");
xls_close_WB(workbook);
}
return 0;
}
C 라이브러리를 통한 다중 워크시트 접근
많은 Excel 파일에는 정보를 다양한 섹션으로 구성하는 여러 워크시트가 포함되어 있습니다. libxls는 각 워크시트를 독립적으로 탐색하고 읽을 수 있는 API를 제공합니다. 이 기능은 재무 보고서, 청구서, 재고 시트 또는 과학 데이터셋을 처리할 때 유용합니다. 개발자는 모든 시트를 순회하면서 사용자 개입 없이 자동으로 정보를 추출할 수 있습니다. 다음 코드는 워크북을 열고 파일에 포함된 워크시트 총 수를 가져옵니다.
C를 사용하여 XLS 파일의 워크시트 총 개수를 가져오는 방법?
#include
int main()
{
xlsWorkBook *wb = xls_open("report.xls", "UTF-8");
if(wb)
{
printf("Number of sheets: %d\n", wb->sheets.count);
xls_close_WB(wb);
}
return 0;
}
C 라이브러리를 통한 셀 값 읽기
오픈 소스 libxls는 애플리케이션이 개별 셀에 접근하고 그 내용을 가져올 수 있게 합니다. 스프레드시트에 텍스트, 숫자 또는 날짜가 포함되어 있든, 라이브러리는 셀 정보를 간단히 접근할 수 있도록 제공합니다. 이 기능 덕분에 libxls는 스프레드시트 데이터를 데이터베이스에 가져오거나, 보고서를 생성하거나, Excel 문서를 CSV 및 JSON 형식으로 변환하는 데 적합합니다. 다음 코드 예제는 워크시트의 첫 번째 셀을 읽고 그 값을 콘솔에 출력합니다.
C 라이브러리를 사용하여 워크시트 셀에 접근하고 값을 출력하는 방법?
#include
int main()
{
xlsWorkBook *wb = xls_open("sample.xls", "UTF-8");
if(wb)
{
xlsWorkSheet *sheet = xls_getWorkSheet(wb, 0);
xls_parseWorkSheet(sheet);
xlsCell *cell = xls_cell(sheet, 0, 0);
if(cell)
printf("Cell value: %s\n", cell->str);
xls_close_WS(sheet);
xls_close_WB(wb);
}
return 0;
}
Unicode 및 문자 인코딩 지원
현대 애플리케이션은 종종 다국어 스프레드시트를 다룹니다. libxls는 구성 가능한 문자 인코딩을 통해 유니코드 텍스트를 지원하여 국제 언어와 특수 문자를 포함한 파일을 처리할 수 있게 합니다. 이 기능은 고객 이름, 주소 및 다양한 언어의 보고서를 처리하는 비즈니스 애플리케이션에 특히 유용합니다. UTF-8 인코딩을 지정함으로써, 라이브러리는 다음 코드 예제와 같이 Excel 파일에 저장된 유니코드 텍스트를 올바르게 해석합니다.
C를 사용하여 Excel 파일에 저장된 유니코드 텍스트를 해석하는 방법?
xlsWorkBook *wb = xls_open("employees.xls", "UTF-8");
if(wb)
{
printf("Workbook loaded using UTF-8 encoding\n");
}