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

📄 csv.js

📁 dojo-0.4.0-ajax.zip ajax一个应用。在页面上可以直接用标签。此为ajax的框架
💻 JS
字号:
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.data.old.format.Csv");dojo.require("dojo.lang.assert");dojo.data.old.format.Csv = new function() {	// -------------------------------------------------------------------	// Public functions	// -------------------------------------------------------------------	this.getArrayStructureFromCsvFileContents = function(/* string */ csvFileContents) {		/**		 * Given a string containing CSV records, this method parses		 * the string and returns a data structure containing the parsed		 * content.  The data structure we return is an array of length		 * R, where R is the number of rows (lines) in the CSV data.  The 		 * return array contains one sub-array for each CSV line, and each 		 * sub-array contains C string values, where C is the number of 		 * columns in the CSV data.		 * 		 * For example, given this CSV string as input:		 * <pre>		 *   "Title, Year, Producer \n Alien, 1979, Ridley Scott \n Blade Runner, 1982, Ridley Scott"		 * </pre>		 * We will return this data structure:		 * <pre>		 *   [["Title", "Year", "Producer"]		 *    ["Alien", "1979", "Ridley Scott"],  		 *    ["Blade Runner", "1982", "Ridley Scott"]]		 * </pre>		 */		dojo.lang.assertType(csvFileContents, String);				var lineEndingCharacters = new RegExp("\r\n|\n|\r");		var leadingWhiteSpaceCharacters = new RegExp("^\\s+",'g');		var trailingWhiteSpaceCharacters = new RegExp("\\s+$",'g');		var doubleQuotes = new RegExp('""','g');		var arrayOfOutputRecords = [];				var arrayOfInputLines = csvFileContents.split(lineEndingCharacters);		for (var i in arrayOfInputLines) {			var singleLine = arrayOfInputLines[i];			if (singleLine.length > 0) {				var listOfFields = singleLine.split(',');				var j = 0;				while (j < listOfFields.length) {					var space_field_space = listOfFields[j];					var field_space = space_field_space.replace(leadingWhiteSpaceCharacters, ''); // trim leading whitespace					var field = field_space.replace(trailingWhiteSpaceCharacters, ''); // trim trailing whitespace					var firstChar = field.charAt(0);					var lastChar = field.charAt(field.length - 1);					var secondToLastChar = field.charAt(field.length - 2);					var thirdToLastChar = field.charAt(field.length - 3);					if ((firstChar == '"') && 							((lastChar != '"') || 							 ((lastChar == '"') && (secondToLastChar == '"') && (thirdToLastChar != '"')) )) {						if (j+1 === listOfFields.length) {							// alert("The last field in record " + i + " is corrupted:\n" + field);							return null;						}						var nextField = listOfFields[j+1];						listOfFields[j] = field_space + ',' + nextField;						listOfFields.splice(j+1, 1); // delete element [j+1] from the list					} else {						if ((firstChar == '"') && (lastChar == '"')) {							field = field.slice(1, (field.length - 1)); // trim the " characters off the ends							field = field.replace(doubleQuotes, '"');   // replace "" with "						}						listOfFields[j] = field;						j += 1;					}				}				arrayOfOutputRecords.push(listOfFields);			}		}		return arrayOfOutputRecords; // Array	};	this.loadDataProviderFromFileContents = function(/* dojo.data.old.provider.Base */ dataProvider, /* string */ csvFileContents) {		dojo.lang.assertType(dataProvider, dojo.data.old.provider.Base);		dojo.lang.assertType(csvFileContents, String);		var arrayOfArrays = this.getArrayStructureFromCsvFileContents(csvFileContents);		if (arrayOfArrays) {			var arrayOfKeys = arrayOfArrays[0];			for (var i = 1; i < arrayOfArrays.length; ++i) {				var row = arrayOfArrays[i];				var item = dataProvider.getNewItemToLoad();				for (var j in row) {					var value = row[j];					var key = arrayOfKeys[j];					item.load(key, value);				}			}		}	};		this.getCsvStringFromResultSet = function(/* dojo.data.old.ResultSet */ resultSet) {		dojo.unimplemented('dojo.data.old.format.Csv.getCsvStringFromResultSet');		var csvString = null;		return csvString; // String	};	}();

⌨️ 快捷键说明

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