سؤال
ما أسماء الأعمدة لا يمكن استخدامها عند إنشاء جدول بيانات Excel باستخدام ADO.
يجب بيان أن يخلق الصفحة في جدول بيانات:
CREATE TABLE [TableName] (Column string, Column2 string);
لقد وجدت أن استخدام اسم عمود من Date
أو Container
سوف يولد خطأ عندما يتم تنفيذ العبارة.
لا أحد يملك كاملة (أو الجزئي) قائمة من الكلمات التي يمكن أن تستخدم عمود الأسماء ؟ هذا هو للاستخدام في يحركها المستخدم والبيئة سيكون من الأفضل إلى "إصلاح" الأعمدة من تحطم الطائرة.
عملي حول هذه هو استبدال أي أحداثا من Date
أو Container
مع Date_
و Container_
على التوالي.
المحلول
يمكنك استخدام الأقواس لأي fieldname ، على سبيل المثال:
CREATE TABLE [TableName] ([Date] string, [Container] string)
كامل سبيل المثال:
using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\temp\\test.xls;Extended Properties='Excel 8.0;HDR=Yes'"))
{
conn.Open();
OleDbCommand cmd = new OleDbCommand("CREATE TABLE [TableName] ([Date] string, [Container] string)", conn);
cmd.ExecuteNonQuery();
}
نصائح أخرى
هنا هي الكلمات المحجوزة MS الاستعلام:
http://support.microsoft.com/kb/125948
الخلية قواعد الأسماء:
http://ezinearticles.com/?Rules-For-Naming-Cells-in-Microsoft-Excel&id=218607
يبدو أكثر مثل قضية مع SQL الكلمات المحجوزة.هذا هو قائمة جيدة