📄 csv.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 () { this.getArrayStructureFromCsvFileContents = function (csvFileContents) { 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, ""); var field = field_space.replace(trailingWhiteSpaceCharacters, ""); 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) { return null; } var nextField = listOfFields[j + 1]; listOfFields[j] = field_space + "," + nextField; listOfFields.splice(j + 1, 1); } else { if ((firstChar == "\"") && (lastChar == "\"")) { field = field.slice(1, (field.length - 1)); field = field.replace(doubleQuotes, "\""); } listOfFields[j] = field; j += 1; } } arrayOfOutputRecords.push(listOfFields); } } return arrayOfOutputRecords; }; this.loadDataProviderFromFileContents = function (dataProvider, 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 (resultSet) { dojo.unimplemented("dojo.data.old.format.Csv.getCsvStringFromResultSet"); var csvString = null; return csvString; };}();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -