- Remove From My Forums
-
Question
-
Hi I am trying to open an excel spreadsheet using a button click event and i use this statement in my code ..i guess the header has to be with the «imports …..» but i am not sure what it is ?
Dim excel As New Microsoft.office.interop.excel.application.class but it underlines the entire statement and says that it is not defined..pls advise..
am i supposed to use a header? if yes? which one ?
KB — Knowledge is Power!
-
Edited by
Friday, August 8, 2008 7:26 PM
edited
-
Edited by
Answers
-
I’ll tell u something funny.. i clicked on project add reference and recent tab and clicked on ms office 11.0 and ms exce 11.0 in that and hit ok and now the microsoft.office.interop comes without any error in my code ! why did that happen ?any idea ?
KB — Knowledge is Power!
-
Marked as answer by
kavita bhaskaran kukkala
Wednesday, August 13, 2008 4:38 PM -
Unmarked as answer by
kavita bhaskaran kukkala
Wednesday, August 13, 2008 4:38 PM -
Marked as answer by
kavita bhaskaran kukkala
Wednesday, August 13, 2008 4:39 PM -
Marked as answer by
kavita bhaskaran kukkala
Wednesday, August 13, 2008 4:39 PM -
Marked as answer by
kavita bhaskaran kukkala
Wednesday, August 13, 2008 4:39 PM -
Marked as answer by
kavita bhaskaran kukkala
Wednesday, August 13, 2008 4:39 PM -
Marked as answer by
kavita bhaskaran kukkala
Wednesday, August 13, 2008 4:39 PM -
Marked as answer by
kavita bhaskaran kukkala
Wednesday, August 13, 2008 4:39 PM
-
Marked as answer by
11 / 11 / 2 Регистрация: 17.02.2011 Сообщений: 145 |
|
1 |
|
22.11.2011, 14:56. Показов 52941. Ответов 24
Доброго времени суток.
0 |
1 / 1 / 0 Регистрация: 19.09.2011 Сообщений: 51 |
|
22.11.2011, 15:03 |
2 |
Excle? Excele? Не знакомый софт. Или вы про MS Office | Excel?
0 |
11 / 11 / 2 Регистрация: 17.02.2011 Сообщений: 145 |
|
22.11.2011, 15:06 [ТС] |
3 |
excel, офис, конечно, *.xls
0 |
Памирыч Почетный модератор 21371 / 9105 / 1082 Регистрация: 11.04.2010 Сообщений: 11,014 |
||||
22.11.2011, 15:24 |
4 |
|||
Сообщение было отмечено Памирыч как решение Решение
7 |
11 / 11 / 2 Регистрация: 17.02.2011 Сообщений: 145 |
|
22.11.2011, 15:35 [ТС] |
5 |
Памирыч, а лист книги эксель где указывать?
0 |
Юпатов Дмитрий 1706 / 1194 / 227 Регистрация: 23.12.2010 Сообщений: 1,526 |
||||||||||||||||||||
22.11.2011, 15:39 |
6 |
|||||||||||||||||||
Сообщение было отмечено Памирыч как решение Решение1)Добавляем в референцы ссылку на Microsoft Excel 11 object library далее:
итог: имеешь экземпляр экселя в переменной _excel и экземпляр книги _workbook. Делай с ними что хошь.
активирует лист за номером 2 в книге. Еще: в самом начале мы добавили ссылку на библу экселя. Это называется «раннее связывание».
если эксель запущен, можно подхватить активный экземпляр
или, если фрагмент выше в итоге останется nothing, можно создать новый
далее так же как и по первому примеру. Только нужно хорошо знать объектную модель экселя: члены не будут видны при написании кода.
4 |
am-wrag 11 / 11 / 2 Регистрация: 17.02.2011 Сообщений: 145 |
||||
24.11.2011, 14:48 [ТС] |
7 |
|||
1)Добавляем в референцы ссылку на Microsoft Excel 11 object library Обьясни как.
А здесь что именно писать? Добавлено через 6 минут Добавлено через 6 минут
0 |
Почетный модератор 21371 / 9105 / 1082 Регистрация: 11.04.2010 Сообщений: 11,014 |
|
24.11.2011, 14:58 |
8 |
не применим для стартового изучения Согласен, но я отказался от библ, уж больно их не охота таскать за прогой.
0 |
am-wrag 11 / 11 / 2 Регистрация: 17.02.2011 Сообщений: 145 |
||||
24.11.2011, 17:27 [ТС] |
9 |
|||
Обьясните плиз чем отличаются обьекты
Допустим просто Worksheet совершенно не подходит для работы, у него совершенно отсутвуют параметры в отличие от такогоже но с _
0 |
1706 / 1194 / 227 Регистрация: 23.12.2010 Сообщений: 1,526 |
|
24.11.2011, 17:52 |
10 |
меня Microsoft Excel 14 object library это у тебя просо офис поновее. Кажется 2010.
Согласен, но я отказался от библ, уж больно их не охота таскать за прогой В данном случае и не надо таскать библу экселя с собой. Для этого в референцах параметр «копировать локально» ставим в false и все, библа не будет добавляться в пакет установки. А работать даже перетащенная, она без установленного экселя все равно не будет. Так что на конечной машине наличие экселя — обязательно.
Насчет стартового изучения — полностью за Конечно, но можно пойти на хитрость:
2 |
am-wrag 11 / 11 / 2 Регистрация: 17.02.2011 Сообщений: 145 |
||||
28.11.2011, 16:27 [ТС] |
11 |
|||
Почемуто после каждого сохраниения в процессах остается событие EXCEL.EXE, которое продолжает множится при последующих сохранениях.
1 |
Почетный модератор 21371 / 9105 / 1082 Регистрация: 11.04.2010 Сообщений: 11,014 |
|
28.11.2011, 16:48 |
12 |
am-wrag, после закрытия программы процессы продолжают висеть?
0 |
Юпатов Дмитрий 1706 / 1194 / 227 Регистрация: 23.12.2010 Сообщений: 1,526 |
||||
28.11.2011, 16:57 |
13 |
|||
попробуй сделать после всего
потому как хоть ты эксель и закрыл, но переменная осталась.
1 |
11 / 11 / 2 Регистрация: 17.02.2011 Сообщений: 145 |
|
28.11.2011, 17:44 [ТС] |
14 |
am-wrag, после закрытия программы процессы продолжают висеть? Когда прога закрывается процессы пропадают. Заметил тут ещё такую чтуку: сохранять позволяет в эксель токлько первый раз, затем процесс сохранения не пашет…
1 |
Памирыч Почетный модератор 21371 / 9105 / 1082 Регистрация: 11.04.2010 Сообщений: 11,014 |
||||
28.11.2011, 17:59 |
15 |
|||
Работа такого кода представлена на скрине, в ходе работы программы не было ни одной ошибки:
Миниатюры
5 |
am-wrag 11 / 11 / 2 Регистрация: 17.02.2011 Сообщений: 145 |
||||||||||||
29.11.2011, 12:47 [ТС] |
16 |
|||||||||||
Вот мои проекты, вроде отличий минимум… Код загрузки информации в лист бокс работает прекрасно(если не брать в расчет лишних процессoв). Код сохранения не сохраняет, ума не приложу почему… Код сохранения
Код загрузки
Добавлено через 1 час 48 минут
1 |
ctac1412 18 / 18 / 2 Регистрация: 12.02.2013 Сообщений: 387 |
||||||||
12.04.2016, 12:44 |
17 |
|||||||
Памирыч, Добрый день! Очень мало инфы по exel для неопытных пользователей в интернете. Если не затрудник, не могли бы взглянуть на проблему?
Добавлено через 37 минут
Автор http://www.siddharthrout.com/2… rettyPhoto
1 |
Почетный модератор 21371 / 9105 / 1082 Регистрация: 11.04.2010 Сообщений: 11,014 |
|
12.04.2016, 13:02 |
18 |
ctac1412, Я не знаток Экселя, увы. Будет лучше, если Вы будете обращаться не к конкретным пользователям, а ко всем; не нужно указывать ники. И лучше создавать свои темы.
1 |
Sallivan_Bidl 0 / 0 / 0 Регистрация: 12.07.2015 Сообщений: 2 |
||||||||
24.08.2016, 19:45 |
19 |
|||||||
Этот кусок кода реально помог почистить паразитные процессы Excel, остающиеся в системе.
Только вот этого кода почему-то было недостаточно.
ctac1412, Спасибо!
0 |
174 / 64 / 13 Регистрация: 22.12.2015 Сообщений: 2,648 |
|
06.12.2016, 11:09 |
20 |
Exc.Rows(7).Insert(Shift:=-4121) а это для чего?
0 |
In this tutorial, I will teach you how to read an excel file in Visual basic.net (VB.Net).
This tutorial can be integrated to your personalized vb.net project.
What is Visual Basic’s purpose?
The third-generation programming language was created to aid developers in the creation of Windows applications. It has a programming environment that allows programmers to write code in.exe or executable files. They can also utilize it to create in-house front-end solutions for interacting with huge databases. Because the language allows for continuing changes, you can keep coding and revising your work as needed.
However, there are some limits to the Microsoft Visual Basic download. If you want to make applications that take a long time to process, this software isn’t for you. That implies you won’t be able to use VB to create games or large apps because the system’s graphic interface requires a lot of memory and space. Furthermore, the language is limited to Microsoft and does not support other operating systems.
So let’s get started:
Step How to Read an Excel file in Visual Basic.Net
- Step 1: First is open the Visual Basic, Select File on the menu, then click New and create a new project.
- Step 2: Then a New Project Dialog will appear. You can rename your project, depending on what you like to name it. After that click OK
- Step 3: Design your form like this just like what I’ve shown you below.
Add a 2 Textbox and a Button
- Step 4: After designing your form. Add a reference to Microsoft Excel 12.0 Object Library
In your project menu click on Project– Add Reference – go to COM tab
Add Microsoft Excel 12.0 Object Library
- Step 5: Then, go to the code page and add the following declarations:
Imports Excel = Microsoft.Office.Interop.Excel Public Class Form1 Dim APP As New Excel.Application Dim worksheet As Excel.Worksheet Dim workbook As Excel.Workbook
- Step 6: Add this following code to Form_Load Event
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load workbook = APP.Workbooks.Open("C:UsersCliveDocumentsVisual Studio 2008clive projectswriteandreadwriteandreadbinDebugsales.xlsx") worksheet = workbook.Worksheets("sheet1") End Sub
Step 7: To get the value from Excel cell to TextBox. Add this following code to the Button Click Event.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles Button1.Click TextBox1.Text = worksheet.Cells(1, 1).Value TextBox2.Text = worksheet.Cells(1, 2).Value End Sub
Step 8: Then finally, add this code to save the Excel file and closes it.
Private Sub Form1_FormClosed(ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.FormClosedEventArgs) _ Handles MyBase.FormClosed workbook.Save() workbook.Close() App.Quit() End Sub
- Step 9: Click F5 to run the program.
Inquiries
If you have any questions or suggestions about How to Read an Excel file using Visual Basic.Net please contact me through our contact page or simply leave a comment below.
Download the Code Below
Download How to Read an Excel file using Visual Basic.Net Source code here.
Readers might read also:
- How to Export DataGridView Data to Excel using VB.Net
- How to Create an Excel File Using Visual Basic.Net
- Basic Calculator Using Visual Basic.Net
If you want to get started with a little bit of advance topic in VB.Net you may start your lesson here on how to connect access database to vb.net. Watch the video here below.
In your form add a DataGrid "GridControl1"
and a button "BtnImport_Click
:
In your button BtnImport_Click
add this code
Private Sub BtnImport_Click(sender As Object, e As EventArgs) Handles BtnImport.Click
Dim dialog As New OpenFileDialog()
dialog.Filter = "Excel files |*.xls;*.xlsx"
dialog.InitialDirectory = "C:"
dialog.Title = "Veuillez sélectionner le fichier à importer"
'Encrypt the selected file. I'll do this later. :)
If dialog.ShowDialog() = DialogResult.OK Then
Dim dt As DataTable
dt = ImportExceltoDatatable(dialog.FileName)
GridControl1.DataSource = dt
GridControl1.Visible = True
MsgBox(" done ! ", MsgBoxStyle.Information)
End If
End Sub
And add this function
in your form
:
Public Shared Function ImportExceltoDatatable(filepath As String) As DataTable
' string sqlquery= "Select * From [SheetName$] Where YourCondition";
Dim dt As New DataTable
Try
Dim ds As New DataSet()
Dim constring As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & filepath & ";Extended Properties=""Excel 12.0;HDR=YES;"""
Dim con As New OleDbConnection(constring & "")
con.Open()
Dim myTableName = con.GetSchema("Tables").Rows(0)("TABLE_NAME")
Dim sqlquery As String = String.Format("SELECT * FROM [{0}]", myTableName) ' "Select * From " & myTableName
Dim da As New OleDbDataAdapter(sqlquery, con)
da.Fill(ds)
dt = ds.Tables(0)
Return dt
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Critical)
Return dt
End Try
End Function
Hop that help you
In this article I will explain with an example, how to read and import Excel file (Excel sheet) data to GridView using ClosedXml library in ASP.Net using C# and VB.Net.
Download DocumentFormat.OpenXml and ClosedXml Libraries
You can download the libraries using the following download locations.
Note: The DLL files of both OpenXml and ClosedXml are present in the attached sample.
HTML Markup
The following HTML Markup consists of an ASP.Net FileUpload control, a Button and a GridView.
<asp:FileUpload ID=»FileUpload1″ runat=»server» />
<asp:Button ID=»btnImport» runat=»server» Text=»Import» OnClick=»ImportExcel» />
<hr />
<asp:GridView ID=»GridView1″ runat=»server»>
</asp:GridView>
Namespaces
You will need to import the following namespaces.
C#
using System.IO;
using System.Data;
using System.Collections.Generic;
using ClosedXML.Excel;
VB.Net
Imports System.IO
Imports System.Data
Imports System.Collections.Generic
Imports ClosedXML.Excel
Read and Import Excel data to DataTable using ClosedXml
When the Import Button is clicked, the following event handler is executed. First the uploaded Excel file is saved to a folder named Files and then it is opened and read using ClosedXml WorkBook class object.
Then the instance of the first Sheet is determined and all the rows present in the Sheet are fetched.
Finally a loop is executed over the fetched rows and a DataTable is populated which is then bound to the GridView.
C#
protected void ImportExcel(object sender, EventArgs e)
{
//Save the uploaded Excel file.
string filePath = Server.MapPath(«~/Files/») + Path.GetFileName(FileUpload1.PostedFile.FileName);
FileUpload1.SaveAs(filePath);
//Open the Excel file using ClosedXML.
using (XLWorkbook workBook = new XLWorkbook(filePath))
{
//Read the first Sheet from Excel file.
IXLWorksheet workSheet = workBook.Worksheet(1);
//Create a new DataTable.
DataTable dt = new DataTable();
//Loop through the Worksheet rows.
bool firstRow = true;
foreach (IXLRow row in workSheet.Rows())
{
//Use the first row to add columns to DataTable.
if (firstRow)
{
foreach (IXLCell cell in row.Cells())
{
dt.Columns.Add(cell.Value.ToString());
}
firstRow = false;
}
else
{
//Add rows to DataTable.
dt.Rows.Add();
int i = 0;
foreach (IXLCell cell in row.Cells())
{
dt.Rows[dt.Rows.Count — 1][i] = cell.Value.ToString();
i++;
}
}
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
}
VB.Net
Protected Sub ImportExcel(sender As Object, e As EventArgs)
‘Save the uploaded Excel file.
Dim filePath As String = Server.MapPath(«~/Files/») + Path.GetFileName(FileUpload1.PostedFile.FileName)
FileUpload1.SaveAs(filePath)
‘Open the Excel file using ClosedXML.
Using workBook As New XLWorkbook(filePath)
‘Read the first Sheet from Excel file.
Dim workSheet As IXLWorksheet = workBook.Worksheet(1)
‘Create a new DataTable.
Dim dt As New DataTable()
‘Loop through the Worksheet rows.
Dim firstRow As Boolean = True
For Each row As IXLRow In workSheet.Rows()
‘Use the first row to add columns to DataTable.
If firstRow Then
For Each cell As IXLCell In row.Cells()
dt.Columns.Add(cell.Value.ToString())
Next
firstRow = False
Else
‘Add rows to DataTable.
dt.Rows.Add()
Dim i As Integer = 0
For Each cell As IXLCell In row.Cells()
dt.Rows(dt.Rows.Count — 1)(i) = cell.Value.ToString()
i += 1
Next
End If
GridView1.DataSource = dt
GridView1.DataBind()
Next
End Using
End Sub
Screenshots
The Excel File
GridView displaying Excel data
Downloads