<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Just a bunch of code &#187; autoit</title>
	<atom:link href="http://www.bunchacode.com/tag/autoit/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bunchacode.com</link>
	<description></description>
	<lastBuildDate>Sun, 11 Sep 2011 19:56:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>excel to mysql import script</title>
		<link>http://www.bunchacode.com/programming/excel-to-mysql-import-script/</link>
		<comments>http://www.bunchacode.com/programming/excel-to-mysql-import-script/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 19:07:25 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[autoit]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=133</guid>
		<description><![CDATA[Sometimes a client requires you to import some data from an excel sheet to mysql. You can do it by hand if there are only a few records. However, if there are a few hundred records, you need some kind of script to do this. I had this same problem. So i wrote something in [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes a client requires you to import some data from an excel sheet to mysql. You can do it by hand if there are only a few records. However, if there are a few hundred records, you need some kind of script to do this. I had this same problem. So i wrote something in <a href="http://www.autoitscript.com/autoit3/" target="_blank">autoit </a>and thought i might share it. The script itself it very simple and very easy to modify.<br />
You need to <a href="http://www.autoitscript.com/autoit3/downloads.shtml">download </a> and install autoit before you can run this. I could just give you the executable, but no one would download it and no one should. Besides the script is very specific and is meant to be modified to suit your need.</p>
<p><a href="http://www.bunchacode.com/?attachment_id=137">here</a> the file in case wordpress butchers my script.</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
</pre>
<pre><span class="php"><span class="php-comment">#include &lt;GUIConstantsEx.au3&gt;
</span>
<span class="php-comment">#include &lt;WindowsConstants.au3&gt;
</span>
<span class="php-comment">#include &lt;EditConstants.au3&gt;
</span>
<span class="php-comment">#include &lt;Excel.au3&gt;
</span>
<span class="php-comment">#include &lt;Array.au3&gt;
</span>
<span class="php-comment">#Include &lt;Date.au3&gt;
</span>

;<span class="php-function">file</span> picker
<span class="php-var">$excelFile</span> <span class="php-operator">=</span> FileOpenDialog<span class="php-brackets">(</span><span class="php-string">&quot;Select an excel file&quot;</span>,@DesktopDir,<span class="php-string">&quot;Excel (*.xls)&quot;</span> ,<span class="php-number">1</span><span class="php-operator">+</span><span class="php-number">2</span><span class="php-brackets">)</span>

If Not @error Then
;create <span class="php-function">main</span> window
<span class="php-var">$mainGui</span> <span class="php-operator">=</span> GUICreate<span class="php-brackets">(</span><span class="php-string">&quot;Importing&quot;</span>,<span class="php-number">3</span><span class="php-number">5</span><span class="php-number">0</span>,<span class="php-number">1</span><span class="php-number">5</span><span class="php-number">0</span><span class="php-brackets">)</span>
GUISetState<span class="php-brackets">(</span>@SW_SHOW<span class="php-brackets">)</span>

<span class="php-var">$status</span> <span class="php-operator">=</span> GUICtrlCreateEdit<span class="php-brackets">(</span><span class="php-string">&quot;Begin importing&quot;</span>,<span class="php-number">1</span><span class="php-number">0</span>,<span class="php-number">1</span><span class="php-number">0</span>,<span class="php-number">3</span><span class="php-number">3</span><span class="php-number">0</span>,<span class="php-number">1</span><span class="php-number">3</span><span class="php-number">0</span>,<span class="php-var">$ES_AUTOVSCROLL</span><span class="php-operator">+</span><span class="php-var">$ES_AUTOHSCROLL</span><span class="php-operator">+</span><span class="php-var">$ES_MULTILINE</span><span class="php-operator">+</span><span class="php-var">$ES_READONLY</span><span class="php-brackets">)</span>

addStatus<span class="php-brackets">(</span><span class="php-string">&quot;File selected:&quot;</span><span class="php-operator">&amp;</span>amp;<span class="php-var">$excelFile</span><span class="php-brackets">)</span>

doExport<span class="php-brackets">(</span><span class="php-var">$excelFile</span><span class="php-brackets">)</span>
Else
MsgBox<span class="php-brackets">(</span><span class="php-number">0</span>,<span class="php-string">&quot;Error&quot;</span>,<span class="php-string">&quot;Error opening file&quot;</span><span class="php-brackets">)</span>
Exit
EndIf

While <span class="php-number">1</span>
<span class="php-var">$msg</span> <span class="php-operator">=</span> GUIGetMsg<span class="php-brackets">(</span><span class="php-brackets">)</span>
If <span class="php-var">$msg</span> <span class="php-operator">=</span> <span class="php-var">$GUI_EVENT_CLOSE</span> Then ExitLoop
WEnd
GUIDelete<span class="php-brackets">(</span><span class="php-brackets">)</span>

Func doExport<span class="php-brackets">(</span><span class="php-var">$file</span><span class="php-brackets">)</span>
<span class="php-var">$fpExcel</span> <span class="php-operator">=</span> _ExcelBookOpen<span class="php-brackets">(</span><span class="php-var">$file</span>,<span class="php-number">0</span>,<span class="php-number">1</span><span class="php-brackets">)</span>
If @error <span class="php-operator">=</span> <span class="php-number">1</span> Then
addStatus<span class="php-brackets">(</span><span class="php-string">&quot;Unable to Create the Excel Object&quot;</span><span class="php-brackets">)</span>
Exit
ElseIf @error <span class="php-operator">=</span> <span class="php-number">2</span> Then
addStatus<span class="php-brackets">(</span><span class="php-string">&quot;File does not exist - Shame on you!&quot;</span><span class="php-brackets">)</span>
Exit
Else
addStatus<span class="php-brackets">(</span><span class="php-string">&quot;File open successfully&quot;</span><span class="php-brackets">)</span>
EndIf

<span class="php-var">$done</span> <span class="php-operator">=</span> False
<span class="php-var">$i</span> <span class="php-operator">=</span> <span class="php-number">2</span>
While Not <span class="php-var">$done
</span>
;read a row from excel <span class="php-function">file</span>
<span class="php-var">$excelArray</span> <span class="php-operator">=</span> _ExcelReadArray<span class="php-brackets">(</span><span class="php-var">$fpExcel</span>,<span class="php-var">$i</span>,<span class="php-number">1</span>,<span class="php-number">9</span>,<span class="php-number">0</span>,<span class="php-number">0</span><span class="php-brackets">)</span>

If <span class="php-var">$excelArray</span><span class="php-brackets">[</span><span class="php-number">0</span><span class="php-brackets">]</span> <span class="php-operator">&amp;</span>lt;<span class="php-operator">&amp;</span>gt; <span class="php-string">&quot;&quot;</span> Then
addStatus<span class="php-brackets">(</span><span class="php-string">&quot;reading Row &quot;</span> <span class="php-operator">&amp;</span>amp; <span class="php-var">$i</span><span class="php-brackets">)</span>
;insert into sql <span class="php-function">file</span>
arrayToSql<span class="php-brackets">(</span><span class="php-var">$excelArray</span><span class="php-brackets">)</span>
Else
addStatus<span class="php-brackets">(</span><span class="php-string">&quot;Finsihed reading excel file&quot;</span><span class="php-brackets">)</span>
addStatus<span class="php-brackets">(</span><span class="php-var">$i</span><span class="php-operator">-</span><span class="php-number">2</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot; rows converted into sql statement&quot;</span><span class="php-brackets">)</span>
<span class="php-var">$done</span> <span class="php-operator">=</span> True
EndIf
<span class="php-var">$i</span> <span class="php-operator">+</span><span class="php-operator">=</span> <span class="php-number">1</span>
WEnd

_ExcelBookClose<span class="php-brackets">(</span><span class="php-var">$fpExcel</span><span class="php-brackets">)</span>
EndFunc

Func arrayToSql<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">)</span>
;save sql <span class="php-function">file</span> to desktop
<span class="php-var">$sqlFile</span> <span class="php-operator">=</span> FileOpen<span class="php-brackets">(</span>@DesktopDir<span class="php-operator">&amp;</span>amp;<span class="php-string">&quot;/ExcelToSql-&quot;</span><span class="php-operator">&amp;</span>amp;@MDAY<span class="php-operator">&amp;</span>amp;<span class="php-string">&quot;-&quot;</span><span class="php-operator">&amp;</span>amp;@MON<span class="php-operator">&amp;</span>amp;<span class="php-string">&quot;-&quot;</span><span class="php-operator">&amp;</span>amp;@YEAR<span class="php-operator">&amp;</span>amp;<span class="php-string">&quot;.sql&quot;</span>,<span class="php-number">1</span><span class="php-operator">+</span><span class="php-number">8</span><span class="php-brackets">)</span>

<span class="php-var">$sqlStatement</span> <span class="php-operator">=</span> <span class="php-string">&quot;INSERT INTO `_products` (`int_id`, `product_type`, `title`, `description`, `synopsis`, `publication_date`, `price`, `categories`, `list`, `type_id`, `processed`, `write_err`) VALUES (&quot;</span>
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">0</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;int_id
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">1</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;product_type
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">2</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;title
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">3</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;description
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">4</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;synopsis
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; toExcelDate<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">5</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span>  ;<span class="php-function">date</span>
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">6</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;price
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">7</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;category
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">8</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;<span class="php-function">list</span>
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'','N','N'&quot;</span>
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;);&quot;</span>

FileWriteLine<span class="php-brackets">(</span><span class="php-var">$sqlFile</span>,<span class="php-var">$sqlStatement</span><span class="php-brackets">)</span>
FileClose<span class="php-brackets">(</span><span class="php-var">$sqlFile</span><span class="php-brackets">)</span>
EndFunc

Func escapeString<span class="php-brackets">(</span><span class="php-var">$string</span><span class="php-brackets">)</span>
;replace anything that is not a number, letter<span class="php-operator"> or </span>common punctuation
<span class="php-var">$string</span> <span class="php-operator">=</span> StringRegExpReplace<span class="php-brackets">(</span><span class="php-var">$string</span>,<span class="php-string">&quot;[^0-9a-zA-Z.,\\/\!@#$%\^\&amp;amp;\*\(\)\-_\+=\h&amp;lt;&amp;gt;]&quot;</span>,<span class="php-string">&quot;&quot;</span><span class="php-brackets">)</span>
;escape single quote
<span class="php-var">$string</span> <span class="php-operator">=</span> StringRegExpReplace<span class="php-brackets">(</span><span class="php-var">$string</span>,<span class="php-string">&quot;[']&quot;</span>,<span class="php-string">&quot;\'&quot;</span><span class="php-brackets">)</span>
Return <span class="php-var">$string
</span>
EndFunc

Func toExcelDate<span class="php-brackets">(</span><span class="php-var">$dateString</span><span class="php-brackets">)</span>
<span class="php-var">$yearString</span> <span class="php-operator">=</span> StringMid<span class="php-brackets">(</span><span class="php-var">$dateString</span>,<span class="php-number">1</span>,<span class="php-number">4</span><span class="php-brackets">)</span>
<span class="php-var">$monthString</span> <span class="php-operator">=</span> StringMid<span class="php-brackets">(</span><span class="php-var">$dateString</span>,<span class="php-number">5</span>,<span class="php-number">2</span><span class="php-brackets">)</span>
<span class="php-var">$dayString</span> <span class="php-operator">=</span> StringMid<span class="php-brackets">(</span><span class="php-var">$dateString</span>,<span class="php-number">7</span>,<span class="php-number">2</span><span class="php-brackets">)</span>
<span class="php-keyword">return</span> <span class="php-var">$dayString</span><span class="php-operator">&amp;</span>amp;<span class="php-string">&quot;-&quot;</span><span class="php-operator">&amp;</span>amp;StringMid<span class="php-brackets">(</span>_DateToMonth<span class="php-brackets">(</span><span class="php-var">$monthString</span>,<span class="php-number">1</span><span class="php-brackets">)</span>,<span class="php-number">1</span>,<span class="php-number">3</span><span class="php-brackets">)</span><span class="php-operator">&amp;</span>amp;<span class="php-string">&quot;-&quot;</span><span class="php-operator">&amp;</span>amp;<span class="php-var">$yearString
</span>
EndFunc

Func addStatus<span class="php-brackets">(</span><span class="php-var">$text</span><span class="php-brackets">)</span>
GUICtrlSetData<span class="php-brackets">(</span><span class="php-var">$status</span>,@CRLF<span class="php-operator">&amp;</span>amp;<span class="php-var">$text</span>,<span class="php-number">1</span><span class="php-brackets">)</span>
EndFunc</span></pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/excel-to-mysql-import-script/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

