⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xml.c

📁 harvest是一个下载html网页得机器人
💻 C
字号:
#include "xlhtml.h"extern int  first_sheet;extern int  last_sheet;extern uni_string  default_font;extern void trim_sheet_edges(unsigned int);extern int  next_ws_title;extern void SetupExtraction(void);extern void update_default_font(unsigned int);extern void OutputString(uni_string * );extern char *lastUpdated; extern int  file_version;extern int  NoFormat;extern int  notAccurate;extern int  formula_warnings;extern int  NotImplemented;extern int  Unsupported;extern int  MaxWorksheetsExceeded;extern int  MaxRowExceeded;extern int  MaxColExceeded;extern int  MaxStringsExceeded;extern int  MaxFontsExceeded;extern int  MaxPalExceeded;extern int  MaxXFExceeded;extern int  MaxFormatsExceeded;extern char colorTab[MAX_COLORS];extern char filename[256];extern int  UnicodeStrings;extern int  CodePage; extern char	*title;extern void update_default_alignment(unsigned int, int);extern void output_cell( cell *, int); extern uni_string author;work_sheet **ws_array;void OutputTableXML(void){	int i, j, k;        printf( "<?xml version=\"1.0\" encoding=\"" );        switch (UnicodeStrings)	{		case 0:			printf("iso-8859-1\" ?>\n");		/* Latin-1 */			break;		case 1:			printf("windows-1252\"?>\n");		/* Microsoft */			break;		default:			printf("utf-8\"?>\n");			/* Unicode */			break;	}	SetupExtraction();	printf( "<excel_workbook>\n" );	printf( "\t<sheets>\n" );	/* Here's where we dump the Html Page out */	for (i=first_sheet; i<=last_sheet; i++)	/* For each worksheet */	{		trim_sheet_edges(i);			 update_default_font(i);		if (ws_array[i] == 0)			continue;		if ((ws_array[i]->biggest_row == -1)||(ws_array[i]->biggest_col == -1))			continue;		if (ws_array[i]->c_array == 0)			continue;		printf( "\t\t<sheet>\n" );		printf( "\t\t\t<page>%d</page>\n", i );				/* Print its name */		if (next_ws_title > 0)		{			if (ws_array[i]->ws_title.str)			{				printf("\t\t\t<pagetitle>");				OutputString(&ws_array[i]->ws_title);				printf("</pagetitle>\n");			}			else				printf("\t\t\t<pagetitle>(Unknown Page)</pagetitle>\n");		}		printf( "\t\t\t<firstrow>%ld</firstrow>\n", ws_array[i]->first_row );		printf( "\t\t\t<lastrow>%ld</lastrow>\n", ws_array[i]->biggest_row );		printf( "\t\t\t<firstcol>%d</firstcol>\n", ws_array[i]->first_col );		printf( "\t\t\t<lastcol>%d</lastcol>\n", ws_array[i]->biggest_col );		printf( "\t\t\t<rows>\n" );		for (j=ws_array[i]->first_row; j<=ws_array[i]->biggest_row; j++)		{			update_default_alignment(i, j);			printf("\t\t\t\t<row>\n");			for (k=ws_array[i]->first_col; k<=ws_array[i]->biggest_col; k++)			{				printf("\t\t\t\t\t<cell row=\"%d\" col=\"%d\">", j, k );				output_cell(ws_array[i]->c_array[(j*ws_array[i]->max_cols)+k], 1); /* This stuff happens for each cell... */				printf("</cell>\n" );				if (ws_array[i]->c_array[(j*ws_array[i]->max_cols)+k])				{					if (ws_array[i]->c_array[(j*ws_array[i]->max_cols)+k]->colspan != 0)						k += ws_array[i]->c_array[(j*ws_array[i]->max_cols)+k]->colspan-1;				}                                			}			printf("</row>\n");		}		printf( "\t\t\t</rows>\n" );		printf("\t\t</sheet>\n"); 	}     printf( "\t</sheets>\n" );	/* Print the author's name in itallics... */	if (author.str)	{		printf("\t<author>");		OutputString(&author);		printf("</author>\n");	}	/* Print when & how the file was last updated. */	if (lastUpdated)		printf("\t<lastwrite>%s</lastwrite>", lastUpdated);	printf( "\t<excelversion>" );	switch (file_version)	{		case EXCEL95:			printf("using Excel 5.0 or 95");			break;		case EXCEL97:			printf("using Excel 97/2000");			break;		default:			printf("using Excel ????");			break;	}	printf("</excelversion>\n");		/* Next print Disclaimers... */	if (NoFormat)		printf("\t<noformat>%d</noformat>\n", NoFormat );	if ((notAccurate)&&(formula_warnings))		printf("\t<accuracy>%d</accuracy>\n", notAccurate );	if (NotImplemented)		printf("\t<notimplemented>%d</notimplemented>\n", NotImplemented );	if (Unsupported)		printf("\t<unsupported>%d</unsupported>\n", Unsupported );	/* Now out exceeded capacity warnings... */	if (MaxWorksheetsExceeded)		printf("\t<MaxWorksheetsExceeded>The Maximum Number of Worksheets were exceeded, you might want to increase it.</MaxWorksheetsExceeded>\n ");	if (MaxRowExceeded)		printf("\t<MaxRowExceeded>The Maximum Number of Rows were exceeded, you might want to increase it.</MaxRowExceeded>\n ");	if (MaxColExceeded)		printf("\t<MaxColExceeded>The Maximum Number of Columns were exceeded, you might want to increase it.</MaxColExceeded>\n");	if (MaxStringsExceeded)		printf("\t<MaxStringsExceeded>The Maximum Number of Strings were exceeded, you might want to increase it.</MaxStringsExceeded>\n");	if (MaxFontsExceeded)		printf("\t<MaxFontsExceeded>The Maximum Number of Fonts were exceeded, you might want to increase it.</MaxFontsExceeded>\n");	if (MaxPalExceeded)		printf("\t<MaxPalExceeded>The Maximum Number of Color Palettes were exceeded, you might want to increase it.</MaxPalExceeded>\n");	if (MaxXFExceeded)		printf("\t<MaxXFExceeded>The Maximum Number of Extended Formats were exceeded, you might want to increase it.</MaxXFExceeded>\n");	if (MaxFormatsExceeded)		printf("\t<MaxFormatsExceeded>The Maximum Number of Formats were exceeded, you might want to increase it.</MaxFormatsExceeded>\n");	/* Output Credit */	printf("\t<tool>Created with xlhtml %s</tool>\n", VERSION);	printf("\t<toollink>http://chicago.sf.net/xlhtml/</toollink>\n");     printf( "</excel_workbook>\n" );}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -