DataSource Controls :: Reading Excel Files Through Application?
Mar 16, 2010
iam Working on Asp.net Web apliation using c#.net, in system folder (Ex: E://Santhu) i have few Flat files and Excels Files .So My Application should read those files automatically and should store the data into my database..
iam Working on Asp.net Web apliation using c#.net. in system folder (Ex: E://Santhu) i have few Flat files and Excels Files .So My Application should read those files automatically and should store the data into my database..
i've got some problem reading excel files to store into sqlserver database. currently my code has a fileupload control and a button for me to save the excel file into a folder and read the data inside the excel file and write it into the sql database. The code works only if the excel sheet name is Sheet1.xlsx, however i tried upload a diff file named ImportUserFile.xlsx and it gave me the exception below. 'ImportUserFile$' is not a valid name. Make sure that it does not include invalid characters or punctuation and that it is not too long. i have also tried other file names and it seemed only Sheet1.xlsx works.
I'm trying to read a CSV file into a DataTable using OleDbConnection and OleDbDataAdapter. It works loading the DataTable, but only does 255 columns. The file has 362 columns.
Want to create a web based application for reading and writing excel files.
Issue :
1. Want to upload an excel file and store it some location. 2. Read data from excel file, performing some sorting and filtering 3. Write filtered data to new excel file.
I want to send the email through asp.net where "To " email address list store in excel file. Send email to all email Id store in excel file. How to send the email reading all email id from excel files.
I need to read an Excel work book with 2 sheet which have more than 60,000 records. The application is an ASP.Net application so the performance matters.
Which approach should I take? Sohuld I do it using Microsoft.Office.Interop.Excel or should I do it using OLEDB in ADO.Net?
I can directly use to read and display Excel or CSV files using asp web control(GridView, sqldatasource etc). I do NOT want to upload the file first to an sql database before reading them, I just want to read the files directly. I am using asp.net 2.0 and c#.
I don't know how to read data into variables from a SELECT query. I can add, update, and delete queries with no issues. I have browsed a few books, but everyone uses a different approach. Suppose I want to to run a query and 1 record is returned. How do I get the values into my variables.
Suppose my table name is "Job Orders", and the row returned has these 3 fields:
I have a C#/Asp.net web application which caches SQL DB schema information. Is there a way that I can determine what child relationships a given table has? I have looked into using the DataTable.ChildRelations property, but it is never populated with items unless i manually create a relationship using the .add property. I also have access to DataColumn information for each column in the database.
I need to populate a database (SQL Server) with some data from a templated excel document.Here are some approaches:
A) User upload a file.xls or file.csv that the server reads, checks and updates the database (cons:the uploaded file might be too big. file.* needs to be in correct format)
B) User downloads a tool.exe to read and upload file.xls (cons: maintenance of the tool.exe)
C) Use of a web service in excel? (don't know how to do it) but this article might give you a hint
Which one is the best to use? Are there any others?
In my application, i have one fileupload control which will take excel file. I want to read this excel file and want to store in datatable. How will i do this. I am using visual studio 2008.
I'm trying to store multiple selected checkboxes from a single checkboxlist, but i don't know where to start. Imagine i have three tables: tbl_events, tbl_organisors and tbl_settings and i want to store the organisors of an event. Each event can have multiple organisors, so each organisor should be added as a single row into tbl_settings. I know how to bind tbl_organisors to a checkboxlist, but how do i store the results (meaning: add the rows to tbl_settings) ?
tbl_events: Event_ID (PK) and Event_Name tbl_organisors: User_ID and user_name. tbl_settings: Settings_ID (PK), Event_ID and User_ID
Checkboxlist:
[Code]....
SQLDatasource:
[Code]....
Initially all checkboxes will be unchecked, but users must be able to select multiple organisors from the checkboxlist and then store them into the DB by submitting a form. So the query will look something like: INSERT INTO tbl_settings (user_id, event_id) VALUES (@user_id, @event_id). And this is where my head cracks
1) How do i loop through all selected checkboxes and store each value (user_id) in a new row in tbl_settings? 2) After saving, the users reloads the page and the organisors he just selected must be selected by default in the checkboxlist. How?
The short story is, I'm developing an SSIS package to select from a remote Oracle database (read: no Windows Authentication) and store into an SQL Server db. I can execute the package just fine in development and after importing, but when I run it as a scheduled job, I get an ora-01017 error (bad un/pw). The details are, I built this package and tested in in BIDS but came across the problem that BIDS really doesn't save the password I'd set for the Oracle connection. After poking around a bit, I found this
[URL] which showed how to create an XML configuration which the package could then read. Fiddled around with that, got it working in BIDS. Connected to Integration Services on the server on which I want to run the package, imported it, right-clicked and did the "Run Package" option as a test, it works great. However, when I connect to the same server's Database Engine to create and schedule a job, I cannot connect to Oracle. For some reason, it seems as if the package is not reading the configuration when run in schedule.
I've tried removing the job and re-working it, thinking maybe it didn't pick up the new version when I re-imported the package. A new job had the same problem. Next, I tried re-naming the .dtsConfig and doing the "Run Package" option as a test. Failed with the same error. A bit surprised, I thought I'd get some kind of file error and we wouldn't get as far as trying to talk to Oracle. Anyway, thinking maybe it's permissions on the configuration, fixed the .dtsConfig name and gave full access to Everyone. That ought to let the Agent see it. Scheduled up the job, still can't talk to Oracle. So it seems as if the scheduled version is ignoring the configuration. Anyone have any idea what I'm missing, that scheduling an SSIS package makes it act differently than running it manually? BTW, the instance under which we're running the package is VS 2005. BIDS 2005 to build the package.
I'm Using a DataReader to Read about 100,000 records, my code look like :
[Code]....
I have a per row computation in reading the rows on GetMyType2Info() method, and this method also another method that I return only one record by ExecuteReader(). the problem is that when the MyTypeList (List<T>) has about 21,000 Items of MyType (<T>) System.OutOfMemoryException is thrown. wanted to know how to resolve this and wanted to know more about the maximum size of List<T> capacity. in addition the execution of the main Query with 100,000 records take about 4 seconds in SQLServer a record has only types of nvarchar , float,datetime and int
I have a form with several controls. I'm trying to read from database and navigating through single record per page. I'm displaying a single record but not navigating through. My customerID field is the primarykey. But there are gaps btw records (1,2,5,6,10...etc). Some of them were deleted.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Dim myReader As SqlDataReader Dim myConnection = New SqlConnection("server=myPCSQLEXPRESS; database=CustomersDB; uid=myPC est; Password=; Trusted_Connection=yes") myConnection.Open() Dim myCommand = New SqlCommand("SELECT * FROM Customers", myConnection) Dim intFirstRecord As Integer = CInt(myCommand.ExecuteScalar()) myReader = myCommand.ExecuteReader() If myReader.Read Then lblCustomerID.Text = myReader("customerID") lblCustomerName.Text = myReader("CustomerName") End If myReader.Close() myConnection.Close() currentRecord = lblCustomerID.Text End Sub
Sub Next_OnClick(ByVal sender As Object, ByVal e As System.EventArgs) Dim myCommand As SqlCommand Dim myConnection As SqlConnection Dim myReader As SqlDataReader myConnection = New SqlConnection("server=myPCSQLEXPRESS; database=CustomersDB; uid=myPC est; Password=; Trusted_Connection=yes") myConnection.Open() myCommand = New SqlCommand("SELECT TOP 1 customerID, CustomerName FROM Customers WHERE customerID > @customerID", myConnection) myCommand.Parameters.Add("@customerID", SqlDbType.Int, 5).Value = currentRecord myReader = myCommand.ExecuteReader()
If myReader.Read Then lblCustomerID.Text = myReader("customerID") lblCustomerName.Text = myReader("CustomerName") End If myReader.Close() myConnection.Close() End Sub
I'm being able to read first record. If I click Next button, my page goes to next record for only once. If i click several times, nothing happens. Does not go to next available records.
I have a record created date stored as" 2010-05-16 15:44:18.700" in sql server database. When I read this date it gets converted to "5/16/2010 3:44:18 PM" . How should I read it so that I don't loose the ending '700' value so that it gets written exactly to another database.Code for reading the record:
String myConn = ConfigurationManager.ConnectionStrings["DBConnectionString"].ToString(); SqlConnection con = new SqlConnection(myConn); SqlCommand cmd = new SqlCommand();[code].....
I have a scenario where I have to read an excel file to dump records in a mysql database. The code generates an exception Sheet1 not found. I have pasted the code below. Please let me know the solution to the exception. I have given the correct read/write/modify settings to my excel file.
if (fileUpload1.PostedFile.FileName.EndsWith(".xls") || fileUpload1.PostedFile.FileName.EndsWith(".XLS")) { string fileName = Server.MapPath(fileUpload1.PostedFile.FileName); string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=Excel 8.0"; // Create the connection object OleDbConnection oledbConn = new OleDbConnection(connString); try { // Open connection oledbConn.Open(); // Create OleDbCommand object and select data from worksheet Sheet1 OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]" , oledbConn); // Create new OleDbDataAdapter OleDbDataAdapter oleda = new OleDbDataAdapter(); oleda.SelectCommand = cmd; // Create a DataSet which will hold the data extracted from the worksheet. DataSet ds = new DataSet(); // Fill the DataSet from the data extracted from the worksheet. oleda.Fill(ds, "RestaurantExcelData"); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Response.Write("Data: " + ds.Tables[0].Rows[i].ItemArray[0].ToString() + ""); } } catch(Exception e1) { } finally { // Close connection oledbConn.Close(); } } else { Response.Write("File Not Excel (xls||XLS)"); }
But it shows me an errormessage when I run this query:
string query = "Select * from [IO_Definition$]";
IO_Definition is the name of the spreadsheet in my excel file. I also added the excel file to the App_Data folder of the website.
The error is:
The Microsoft Jet database engine could not find the object 'IO_Definition$'. Make sure the object exists and that you spell its name and the path name correctly.
The thing is, when I write the absolute path of the excel file in the connectionString it does work. Is there anyway I can make it work without writing the absolute path?