Can't create sheet when importing Excel

P

Parrot

I am trying to create an Excel file from my C# program using the Process
function as follows:

string runprog = "c:\\Program Files\\Microsoft Office\\OFFICE12\\Excel.exe";
Process.Start(runprog, excelfile);

When Excel opens up it puts my data from excelfile into a sheet named after
the filename itself. I save the file and then I try to read it later using
the following command:

strSQL = "SELECT * FROM [excelfile]

It says that it doesn't recognize this table or library. So I have 2
questions:

1. Is there a way I can force the imported data to be stored as a sheet
rather than under the filename I am importing?
2. If not, how do I get my SQL command to recognize the table from my excel
file. Right now the only way I can get it to work is to manually import the
data as a sheet and then use the command strSQL = "SELECT * FROM [Sheet1$].

I want to be able to do its automatically thru a program rather than to
manually create the excel file. Does anyone have suggetions on these
questions?
 
J

Joel

You don't need to run Excel to read the data from excel!!! All office
products have the same structure. They have documents, tables, pictures. An
excel worksheet is nearly identical to an Access Database (tables).

I would look at Access Open commands to read and write the data. Excel
doesn't understand the SQL but Access will. Create an Access Object then
open/create the Table. Ther arre lots of examples of Reading Workbooks
without opening the workbook. All these techniques use Access commands to
read and write XLS files.

Access is designed so that multiple users can read and write databases.
With Excel if two users open a workbook only the 1st has write priviledges
unless the workbook is shared. Most people don't recommend using Excel in
the shared mode because of conflicts. Access is designed to prevent
conflicts in a shared environment.
 
P

Parrot

Joel;
Thanks for your reply as it made me realize I am using the wrong programming
model. I originally wanted to create an Excel database as most users are
familar with Excel and not Access. However, I am writing my system to access
some kind of database so why not use Access since the database will be opaque
to the user anyway. Sometimes you can't see the forest for the trees. I am
still curious as to why I couldn't create a sheet in Excel.


Joel said:
You don't need to run Excel to read the data from excel!!! All office
products have the same structure. They have documents, tables, pictures. An
excel worksheet is nearly identical to an Access Database (tables).

I would look at Access Open commands to read and write the data. Excel
doesn't understand the SQL but Access will. Create an Access Object then
open/create the Table. Ther arre lots of examples of Reading Workbooks
without opening the workbook. All these techniques use Access commands to
read and write XLS files.

Access is designed so that multiple users can read and write databases.
With Excel if two users open a workbook only the 1st has write priviledges
unless the workbook is shared. Most people don't recommend using Excel in
the shared mode because of conflicts. Access is designed to prevent
conflicts in a shared environment.

Parrot said:
I am trying to create an Excel file from my C# program using the Process
function as follows:

string runprog = "c:\\Program Files\\Microsoft Office\\OFFICE12\\Excel.exe";
Process.Start(runprog, excelfile);

When Excel opens up it puts my data from excelfile into a sheet named after
the filename itself. I save the file and then I try to read it later using
the following command:

strSQL = "SELECT * FROM [excelfile]

It says that it doesn't recognize this table or library. So I have 2
questions:

1. Is there a way I can force the imported data to be stored as a sheet
rather than under the filename I am importing?
2. If not, how do I get my SQL command to recognize the table from my excel
file. Right now the only way I can get it to work is to manually import the
data as a sheet and then use the command strSQL = "SELECT * FROM [Sheet1$].

I want to be able to do its automatically thru a program rather than to
manually create the excel file. Does anyone have suggetions on these
questions?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top