コード例 #1
0
ファイル: generate.c プロジェクト: antontest/c
int main()
{
    BookHandle book = xlCreateBook();
    if(book) 
    {
        SheetHandle sheet = xlBookAddSheet(book, "Sheet1", 0);
        if(sheet) 
        {
            FormatHandle dateFormat;

            xlSheetWriteStr(sheet, 2, 1, "Hello, World !", 0);
            xlSheetWriteNum(sheet, 3, 1, 1000, 0);

            dateFormat = xlBookAddFormat(book, 0);
            xlFormatSetNumFormat(dateFormat, NUMFORMAT_DATE);
            xlSheetWriteNum(sheet, 4, 1, xlBookDatePack(book, 2008, 4, 29, 0, 0, 0, 0), dateFormat);

            xlSheetSetCol(sheet, 1, 1, 12, 0, 0);
        }

        if(xlBookSave(book, "example.xls")) printf("File example.xls has been created.\n");
        xlBookRelease(book);
    }

    return 0;
}
コード例 #2
0
ファイル: format.c プロジェクト: icune/R
int main()
{
    BookHandle book = xlCreateBook();
    if(book) 
    {
        FontHandle font;
        FormatHandle format;
        SheetHandle sheet;
        
        font = xlBookAddFont(book, 0);
        xlFontSetName(font, L"Impact");
        xlFontSetSize(font, 36);

        format = xlBookAddFormat(book, NULL);
        xlFormatSetAlignH(format, ALIGNH_CENTER);
        xlFormatSetBorder(format, BORDERSTYLE_MEDIUMDASHDOTDOT);
        xlFormatSetBorderColor(format, COLOR_RED);
        xlFormatSetFont(format, font);

        sheet = xlBookAddSheet(book, L"Custom", 0);
        if(sheet) 
        {
            xlSheetWriteStr(sheet, 2, 1, L"Format", format);
            xlSheetSetCol(sheet, 1, 1, 25, 0, 0);
        }

        if(xlBookSave(book, L"format.xls")) printf("\nFile format.xls has been created.\n");
    }

    printf("\nPress any key to exit...");
    _getch();

    return 0;
}
コード例 #3
0
ファイル: sheet.c プロジェクト: ChristianGfK/libxlpy
static PyObject *
write_str(XLPySheet *self, PyObject *args)
{
	const int row, col;
	const char *val;
	XLPyFormat *fmt = NULL;
	if(!PyArg_ParseTuple(args, "iis|O!", &row, &col, &val, &XLPyFormatType,
				&fmt)) return NULL;

	if (!xlSheetWriteStr(self->handler, row, col, val,
				fmt ? fmt->handler : NULL)) Py_RETURN_FALSE;
	Py_RETURN_TRUE;
}
コード例 #4
0
ファイル: invoice.c プロジェクト: icune/R
int main()
{
    BookHandle book = xlCreateXMLBook();
    if(book) 
    {   
        FontHandle boldFont;
        FontHandle titleFont;
        FormatHandle titleFormat;
        FormatHandle headerFormat;
        FormatHandle descriptionFormat;
        FormatHandle amountFormat;
        FormatHandle totalLabelFormat;
        FormatHandle totalFormat;
        FormatHandle signatureFormat;
        SheetHandle sheet;
      
        boldFont = xlBookAddFont(book, 0);
        xlFontSetBold(boldFont, 1);

        titleFont = xlBookAddFont(book, 0);
        xlFontSetName(titleFont, "Arial Black");
        xlFontSetSize(titleFont, 16);

        titleFormat = xlBookAddFormat(book, 0);
        xlFormatSetFont(titleFormat, titleFont);

        headerFormat = xlBookAddFormat(book, 0);
        xlFormatSetAlignH(headerFormat, ALIGNH_CENTER);
        xlFormatSetBorder(headerFormat, BORDERSTYLE_THIN);
        xlFormatSetFont(headerFormat, boldFont);        
        xlFormatSetFillPattern(headerFormat, FILLPATTERN_SOLID);
        xlFormatSetPatternForegroundColor(headerFormat, COLOR_TAN);

        descriptionFormat = xlBookAddFormat(book, 0);
        xlFormatSetBorderLeft(descriptionFormat, BORDERSTYLE_THIN);

        amountFormat = xlBookAddFormat(book, 0);
        xlFormatSetNumFormat(amountFormat, NUMFORMAT_CURRENCY_NEGBRA);
        xlFormatSetBorderLeft(amountFormat, BORDERSTYLE_THIN);
        xlFormatSetBorderRight(amountFormat, BORDERSTYLE_THIN);
                
        totalLabelFormat = xlBookAddFormat(book, 0);
        xlFormatSetBorderTop(totalLabelFormat, BORDERSTYLE_THIN);
        xlFormatSetAlignH(totalLabelFormat, ALIGNH_RIGHT);
        xlFormatSetFont(totalLabelFormat, boldFont);

        totalFormat = xlBookAddFormat(book, 0);
        xlFormatSetNumFormat(totalFormat, NUMFORMAT_CURRENCY_NEGBRA);
        xlFormatSetBorder(totalFormat, BORDERSTYLE_THIN);
        xlFormatSetFont(totalFormat, boldFont);
        xlFormatSetFillPattern(totalFormat, FILLPATTERN_SOLID);
        xlFormatSetPatternForegroundColor(totalFormat, COLOR_YELLOW);

        signatureFormat = xlBookAddFormat(book, 0);
        xlFormatSetAlignH(signatureFormat, ALIGNH_CENTER);
        xlFormatSetBorderTop(signatureFormat, BORDERSTYLE_THIN);
             
        sheet = xlBookAddSheet(book, "Invoice", 0);
        if(sheet)
        {
            xlSheetWriteStr(sheet, 2, 1, "Invoice No. 3568", titleFormat);

            xlSheetWriteStr(sheet, 4, 1, "Name: John Smith", NULL);
            xlSheetWriteStr(sheet, 5, 1, "Address: San Ramon, CA 94583 USA", 0);

            xlSheetWriteStr(sheet, 7, 1, "Description", headerFormat);
            xlSheetWriteStr(sheet, 7, 2, "Amount", headerFormat);

            xlSheetWriteStr(sheet, 8, 1, "Ball-Point Pens", descriptionFormat);
            xlSheetWriteNum(sheet, 8, 2, 85, amountFormat);
            xlSheetWriteStr(sheet, 9, 1, "T-Shirts", descriptionFormat);
            xlSheetWriteNum(sheet, 9, 2, 150, amountFormat);
            xlSheetWriteStr(sheet, 10, 1, "Tea cups", descriptionFormat);
            xlSheetWriteNum(sheet, 10, 2, 45, amountFormat);

            xlSheetWriteStr(sheet, 11, 1, "Total:", totalLabelFormat);
            xlSheetWriteFormula(sheet, 11, 2, "=SUM(C9:C11)", totalFormat);

            xlSheetWriteStr(sheet, 14, 2, "Signature", signatureFormat);

            xlSheetSetCol(sheet, 1, 1, 40, 0, 0);
            xlSheetSetCol(sheet, 2, 2, 15, 0, 0);
        }

        if(xlBookSave(book, "invoice.xlsx")) printf("\nFile invoice.xlsx has been created.\n");
        xlBookRelease(book);   
    }

    printf("\nPress any key to exit...");
    _getch();

    return 0;
}
コード例 #5
0
ファイル: performance.c プロジェクト: Exidu/KDM
void test(int number)
{
    BookHandle book;
    SheetHandle sheet;
    clock_t t1, t2, t3;
    int row, col;
    double d, n;	

    printf("---------------------------------\n");
    if(number == 1) {
        printf("           strings               \n");
    } else {
        printf("           numbers               \n");
    }
    printf("---------------------------------\n");

    book = xlCreateBook();
    if(book) {
        sheet = xlBookAddSheet(book, "Sheet1", 0);
        if(sheet) {
            printf("writing %d cells... ", (maxRow - 1) * maxCol);
            t1 = clock();
            if(number == 1) {
                for(row = 1; row < maxRow; ++row) {
                    for(col = 0; col < maxCol; ++col) {
                        xlSheetWriteStr(sheet, row, col, makeString(), 0);
                    }
                }
            } else {
                for(row = 1; row < maxRow; ++row) {
                    for(col = 0; col < maxCol; ++col) {
                        xlSheetWriteNum(sheet, row, col, 1234, 0);
                    }
                }
            }
            printf("ok\n");
            t2 = clock();
            d = (double)(t2 - t1) / CLOCKS_PER_SEC;
            printf("time: %.3f sec\n", d);
            if(d > 0) {
                n = (maxRow - 1) * maxCol / d;
                printf("speed: %d cells/sec\n", (int)n);
            }
            printf("\n");

            printf("saving... ");
            if(number == 1) {
                xlBookSave(book, "perfstr.xls");
            } else {
                xlBookSave(book, "perfnum.xls");
            }
            printf("ok\n");
            t3 = clock();
            printf("time: %.3f sec\n\n", (double)(t3 - t2) / CLOCKS_PER_SEC);

            printf("total time: %.3f sec\n", (double)(t3 - t1) / CLOCKS_PER_SEC);
            d = (double)(t3 - t1) / CLOCKS_PER_SEC;
            if(d > 0) {
                n = (maxRow - 1) * maxCol / d;
                printf("speed with saving on disk: %d cells/sec\n", (int)n);			
            }
            printf("\n");
        }

        xlBookRelease(book);
    }
}