Datasheet::ImportExcel

Description

Import an Excel sheet (97-2003 *.xls format) by replacing existing data

Syntax

int ImportExcel( LPCSTR lpcszFile, int nSheet, XLSReadCntrl * pst )

Parameters

lpcszFile
[input] fullpath filename to an existing Excel file
nSheet
[input] 0-offset index of the Excel sheet to import
pst
[input] option on import

Return

0 if no error, otherwise <0 error codes, can one of EXCEL_ERR_* enumeration;

Examples

EX1

#include <oExtFile.h>
void impxls(string strFile, bool bHeading = true, int nSheet = 0, bool bCellStyles = false)
{
        vector<string> vsSheets;
        int nn = get_excel_sheet_names(strFile, &vsSheets);
        if(nn <= 0) {
                out_str("not a valid Excel file");
                return;
        }
        Worksheet wks = Project.ActiveLayer();

        ExcelImportOptions stR;
        stR.xlsctrl.m_dwRXC = RXC_RESET_FORMAT | RXC_VALUE | RXC_VALUE_FORMAT | RXC_AUTO_RENAME_SHEET;
        if(bCellStyles)
                stR.xlsctrl.m_dwRXC |= RXC_STYLE;

        if(bHeading) {
                stR.header.SubHeaderLines = -1;
                stR.header.LongName = 1;
        }
        int nC2=-1;//to receive output actual last column
        
        //destination columns
        stR.xlsctrl.m_nStartColIndex = 0;
        stR.xlsctrl.m_pnLastColIndex = &nC2;

        int nErr = wks.ImportExcel(strFile, nSheet, &stR, true);
        if(nErr != 0)
                out_int("failed: ", nErr);
}

Remark

To import Excel sheet with *.xlsx format, use Excel COM.

See Also

Header to Include

origin.h