- function output=SBinsert(conn,tartable,findata)
- delete('D:/temp/*.csv')
- cell2csv(['D:/temp/a.csv'],findata);
- %%
- sql=['load data local infile ''D:/temp/a.csv'' into table ', tartable ,' fields terminated by '','' optionally enclosed by ''"'' escaped by ''"'' lines terminated by ''\n'''];
- exec(conn,sql);
- end
- function cell2csv(fileName, cellArray, separator, excelYear, decimal)
- % Writes cell array content into a *.csv file.
- %
- % CELL2CSV(fileName, cellArray, separator, excelYear, decimal)
- %
- % fileName = Name of the file to save. [ i.e. 'text.csv' ]
- % cellArray = Name of the Cell Array where the data is in
- % separator = sign separating the values (default = ';')
- % excelYear = depending on the Excel version, the cells are put into
- % quotes before they are written to the file. The separator
- % is set to semicolon (;)
- % decimal = defines the decimal separator (default = '.')
- %
- % by Sylvain Fiedler, KA, 2004
- % updated by Sylvain Fiedler, Metz, 06
- % fixed the logical-bug, Kaiserslautern, 06/2008, S.Fiedler
- % added the choice of decimal separator, 11/2010, S.Fiedler
- %% Checking f黵 optional Variables
- if ~exist('separator', 'var')
- separator = ',';
- end
- if ~exist('excelYear', 'var')
- excelYear = 1997;
- end
- if ~exist('decimal', 'var')
- decimal = '.';
- end
- %% Setting separator for newer excelYears
- if excelYear > 2000
- separator = ';';
- end
- %% Write file
- datei = fopen(fileName, 'w');
- for z=1:size(cellArray, 1)
- for s=1:size(cellArray, 2)
-
- var = eval(['cellArray{z,s}']);
- % If zero, then empty cell
- if size(var, 1) == 0
- var = '';
- end
- % If numeric -> String
- if isnumeric(var)
- var = num2str(var);
- % Conversion of decimal separator (4 Europe & South America)
- % http://commons.wikimedia.org/wiki/File:DecimalSeparator.svg
- if decimal ~= '.'
- var = strrep(var, '.', decimal);
- end
- end
- % If logical -> 'true' or 'false'
- if islogical(var)
- if var == 1
- var = 'TRUE';
- else
- var = 'FALSE';
- end
- end
- % If newer version of Excel -> Quotes 4 Strings
- if excelYear > 2000
- var = ['"' var '"'];
- end
-
- % OUTPUT value
- fprintf(datei, '%s', var);
-
- % OUTPUT separator
- if s ~= size(cellArray, 2)
- fprintf(datei, separator);
- end
- end
- if z ~= size(cellArray, 1) % prevent a empty line at EOF
- % OUTPUT newline
- fprintf(datei, '\n');
- end
- end
- % Closing file
- fclose(datei);
- % END