|
What are you really trying to do? You can display excel files in the web. If this is data that really belongs in a database table you can do that as well. You can use the import functionality to import an excel file into a new database table. Then you could select from that table and display in your gridview.
I am thinking you may just want to look at displaying excel files. Of course that does mean you need to have office installed.
Ben
|
|
|
|
|
Thanks for the reply, actually I want to just take the email ID's from excel file and show them in GridView and then send mail to those ID's.
So I need Importing excel file data to GridView.
Please help me...
Thanks again...
|
|
|
|
|
You can take look on the below example,
Using Con As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(".") & "\myfile.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";User ID=Admin; Password=")<br />
Dim Com As New Data.OleDb.OleDbCommand<br />
Dim DR As Data.OleDb.OleDbDataReader<br />
Dim sQuery As String<br />
<br />
Con.Open()<br />
Com.Connection = Con<br />
<br />
sQuery = "SELECT * FROM [sheet1$]"<br />
<br />
Com.CommandText = sQuery<br />
DR = Com.ExecuteReader<br />
<br />
Dim DT As New Data.DataTable<br />
DT.Columns.Add("name")<br />
DT.Columns.Add("details")<br />
While DR.Read<br />
Dim DatRow As Data.DataRow = DT.NewRow<br />
Dim Value As String = ""<br />
DatRow("name") = DR("name")<br />
DatRow("details") = DR("email id")<br />
DT.Rows.Add(DatRow)<br />
End While<br />
<br />
MyGrid.DataSource = DT<br />
MyGrid.DataBind()<br />
<br />
End Using
|
|
|
|
|
Thanks Venkatesh. This code only take the files which are on server but I want to take the files from client machine.
Can u please help me with this.
Thanks again...
|
|
|
|
|
ASP.NET 2.0 wrote: This code only take the files which are on server but I want to take the files from client machine.
Upload the file which you want to read, then apply my code.. Thats it...
|
|
|
|
|
Thanks for the reply but I dont want to save the file on server.
Please help me...
Thanks again...
|
|
|
|
|
I wrote something a while back, where you copied the excel doc and then pasted it in a window. Then pressed a button on the web. When the button was pressed the excel data that was in the control was parsed and processed. It worked pretty good for me and that was my solution to a very similar problem. I can show you the code I used, it is in vb.net 1.1, but it would be easy enough to translate to C# as well. Let me know.
Ben
|
|
|
|
|
I wrote something a while back, where you copied the excel doc and then pasted it in a window. Then pressed a button on the web. When the button was pressed the excel data that was in the control was parsed and processed. It worked pretty good for me and that was my solution to a very similar problem. I can show you the code I used, it is in vb.net 1.1, but it would be easy enough to translate to C# as well. Let me know.
Ben
|
|
|
|
|
Thanks for the reply, I am using ASP.NET 2.0 (VB), will u please post that code.
Thanks again...
|
|
|
|
|
So on the button click event grab the text of the multi line text box then:
Private Sub IbtnSubmit_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles IbtnSubmit.Click
Dim I As Integer
Dim J As Integer = 0
Dim oldI As Integer
Dim oldJ As Integer
Dim colnum As Integer = 0
Dim tmparray(35) As String
Dim tmpstr As String
Dim instr As String = tboxauto.Text
Dim objArrayList As New Collections.ArrayList 'Input parameters
If instr.Length = 0 Then
showmessagebox("You need to copy the Excel section into the text box")
Exit Sub
End If
'Parse through the excel file copied into the textbox
I = instr.IndexOf(Chr(13))
oldI = 0
While I <> -1
tmpstr = instr.Substring(oldI, I - oldI)
oldJ = 0
J = tmpstr.IndexOf(Chr(9))
cleararray(tmparray)
colnum = 0
While J <> -1
If colnum > 32 Then
Exit While
End If
tmparray(colnum) = tmpstr.Substring(oldJ, J - oldJ)
colnum += 1
oldJ = J + 1
J = tmpstr.IndexOf(Chr(9), J + 1)
End While
If tmparray(1).ToUpper = "ISR" OrElse tmparray(1).ToUpper = "HELP DESK TICKET" Then
'skip because this is the header of the excel file
Else
processauto(tmparray)
End If
oldI = I + 2 '2 because of cr and lf
I = instr.IndexOf(Chr(13), I + 1)
End While
End Sub
Private Sub cleararray(ByRef inarry() As String)
Dim I As Integer = 0
While Not (inarry(I) Is Nothing)
inarry(I) = Nothing
I += 1
End While
End Sub
Private Sub processauto(ByVal inarry() As String)
'YOu can write some code here to use the data.
End Sub
Hope that helps.
Ben
|
|
|
|
|
Thanks for the reply, but how will I get the name of the excel file from client machine???
Please help me...
|
|
|
|
|
You don't need the file name. They copy the excel file and paste it into a text box and then press a button. The code I posted parses through the copied excel file.
Ben
|
|
|
|
|
Thanks, but still its not working.Can u please give me an example what is the input given in textbox and how this code works???
I am not getting this line:
instr.IndexOf(Chr(13))
Thanks again.
|
|
|
|
|
When you copy the excel doc and then paste it into a multi line text box, what you get is text where the columns are sepparated by a tab character and the end of the line is delimited by a return character (13).
So since the user copies the data from excel and pastes it into your textbox on your website and then presses a button. You can parse the excel data and then do something with it.
Ben
|
|
|
|
|
Now its giving error on the line :
J = tmpstr.IndexOf(Chr(9))
What for chr(9) is???
|
|
|
|
|
Char 9 is the tab character which is what each column should be sepparated by. What is the error you are getting?
Ben
|
|
|
|
|
Actually I am having only one column in excel file which is Email ID column. I suppose I will have to remove the second while loop. Is it so??
Its giving Error:
Object reference not set to an instance of an object.
On Line:
If tmparray(1).ToUpper = "ISR" OrElse tmparray(1).ToUpper = "HELP DESK TICKET" Then
|
|
|
|
|
If you only have one column then it makes things a lot more simple. YOu just need to look for the Chr(13). You should be able to remove a lot of the code I posted.
Ben
|
|
|
|
|
Will u please help with that???
|
|
|
|
|
Ah no, I have already given you my code. I think you need to work with what you have and try to get it working. If you have a specific problem I would be more then happy to help.
Ben
|
|
|
|
|
Thanks a lot its working fine now. Thanks again...
|
|
|
|
|
i hv stored some image into folder images like this
HttpFileCollection File=HttpContext.Current.Request.Files;
HttpPostedFile File1=File[0];
string fn_imgProduct=System.IO.Path.GetFileName(imgProduct.Value);
string locationImage=Server.MapPath("../Images/")+fn_imgProduct;
File1.SaveAs(locationImage);
now i want to delete this from image folder.
please help me how i can delete it
alok tripathi
|
|
|
|
|
File.Delete ?
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
System.IO.File.Delete(putfilepathhere);
Hope that helps.
Ben
|
|
|
|
|
Hi
I have created image controls dynamically. when i click that image control someother page should be displayed as a popup window how to do this??
my code is :
ImageButton imga;
Panel pana;
LiteralControl LL1;
private void Page_Load(object sender, System.EventArgs e)
{
string idvalue;
idvalue= Request.QueryString["id"];
int cnt;
cnt=Convert.ToInt32(Request.QueryString["count"]);
Session["impath"]="audio_release/"+ idvalue +"";
int cnt1;
if (cnt % 3==0)
{
cnt1=cnt/3;
}
else
{
cnt1=((cnt/3)+1);
}
for (int i=1;i<=cnt1;i++)
{
imga = new ImageButton();
pana=new Panel();
imga.ID = "img" +i.ToString();
imga.Width=200;
imga.Height=150;
imga.ImageUrl="audio_release/" + idvalue + "/"+ i +".jpg";
pana.ID="pl1"+i.ToString();
LL1= new LiteralControl(" ");
pana.Controls.Add(LL1);
pana.Controls.Add(imga);
mainpan.Controls.Add(pana);
imga.Click +=new ImageClickEventHandler(Imagea_Click);
}
}
protected void Imagea_Click ( object sender, ImageClickEventArgs e )
{
ImageButton imga = ( ImageButton )sender;
string s=imga.ImageUrl;
popup('s');
Response.Redirect("audioimage.aspx");
}
here i want to display audioimage.aspx as popup window.
plz let me know if u know the ans
Thanks in advance.
Haritha
|
|
|
|