Script to read data in specific excel sheet
I was wondering whether it was possible to read the data in a specific sheet of a workbook in excel?
I already have one working for reading the file, but was hoping to be able a specific sheet in that file.
With this, is it possible to read the names of the sheets and select the one that you want
Hope you can help
This should illustrate one way of getting data from different sheets:
<pre style="
font-family: Monaco, 'Courier New', Courier, monospace;
font-size: 10px;
margin: 0px;
padding: 5px;
border: 1px solid #000000;
width: 720px;
color: #000000;
background-color: #FFDDFF;
overflow: auto;">
tell application "Microsoft Excel"
set loopMax to count of worksheets of workbook 1
repeat with sheetNumber from 1 to loopMax
display dialog (value of cell 1 of column 1 of worksheet sheetNumber of workbook 1) as string
end repeat
end tell </pre>
So what I am doing is referencing the sheet by number: e.g. "worksheet 1 of workbook 1" but there are other references you can use such as its name.
Similar Messages
-
Reading data from multiple excel sheets
hi all
i have to read the data from excel file's sheet1 and sheet3. how can i do this using forms6i
thanks.Dear Rehman,
Use This Code ,it is very useful to read the data from excel file's sheet1 and sheet2 and so on.here i written the code for sheet1 and sheet2 only.if u need sheet3 .. and extra make a code based on sheet1 or sheet2.
Regards
Gopinath M
DECLARE
--Declare handles to OLE objects
application ole2.obj_type;
workbooks ole2.obj_type;
workbook ole2.obj_type;
worksheet ole2.obj_type;
cell ole2.obj_type;
--Declare handles to OLE argument lists
args ole2.list_type;
Check_file text_io.file_type;
no_file exception;
PRAGMA exception_INIT (no_file, -302000);
cell_value varchar2(2000);
BEGIN
--Check the file can be found, if not exception no_file will be raised
Check_file := TEXT_IO.FOPEN('L:\Individual Person Folders\Gopi\test1.XLS','R');
TEXT_IO.FCLOSE(Check_file);
application:= ole2.create_obj('Excel.Application');
workbooks := ole2.get_obj_property(application, 'Workbooks');
--Open the required workbook
args:= ole2.create_arglist;
ole2.add_arg(args, 'L:\Individual Person Folders\Gopi\test1.XLS');
workbook := ole2.invoke_obj(workbooks, 'Open', args);
ole2.destroy_arglist(args);
--Open worksheet Sheet1 of that Workbook
args:= ole2.create_arglist;
ole2.add_arg(args, 'Sheet1');
worksheet := ole2.get_obj_property(workbook, 'Worksheets', args);
ole2.destroy_arglist(args);
--Get value of cell A1 of worksheet Sheet1
args:= ole2.create_arglist;
ole2.add_arg(args, 1);
ole2.add_arg(args, 1);
cell:= ole2.get_obj_property(worksheet, 'Cells', args);
ole2.destroy_arglist(args);
cell_value :=ole2.get_char_property(cell, 'Value');
message(cell_value);
args:= ole2.create_arglist;
ole2.add_arg(args, 1);
ole2.add_arg(args, 2);
cell:= ole2.get_obj_property(worksheet, 'Cells', args);
ole2.destroy_arglist(args);
cell_value :=ole2.get_char_property(cell, 'Value');
message(cell_value);
args:= ole2.create_arglist;
ole2.add_arg(args, 1);
ole2.add_arg(args, 3);
cell:= ole2.get_obj_property(worksheet, 'Cells', args);
ole2.destroy_arglist(args);
cell_value :=ole2.get_char_property(cell, 'Value');
message(cell_value);MESSAGE(' ');
args:= ole2.create_arglist;
ole2.add_arg(args, 'Sheet2');
worksheet := ole2.get_obj_property(workbook, 'Worksheets', args);
ole2.destroy_arglist(args);
--Get value of cell A1 of worksheet Sheet1
args:= ole2.create_arglist;
ole2.add_arg(args, 1);
ole2.add_arg(args, 1);
cell:= ole2.get_obj_property(worksheet, 'Cells', args);
ole2.destroy_arglist(args);
cell_value :=ole2.get_char_property(cell, 'Value');
message(cell_value);
args:= ole2.create_arglist;
ole2.add_arg(args, 1);
ole2.add_arg(args, 2);
cell:= ole2.get_obj_property(worksheet, 'Cells', args);
ole2.destroy_arglist(args);
cell_value :=ole2.get_char_property(cell, 'Value');
message(cell_value);
args:= ole2.create_arglist;
ole2.add_arg(args, 1);
ole2.add_arg(args, 3);
cell:= ole2.get_obj_property(worksheet, 'Cells', args);
ole2.destroy_arglist(args);
cell_value :=ole2.get_char_property(cell, 'Value');
message(cell_value);
MESSAGE(' ');
ole2.invoke(application,'Quit');
--Release the OLE2 object handles
ole2.release_obj(cell);
ole2.release_obj(worksheet);
ole2.release_obj(workbook);
ole2.release_obj(workbooks);
ole2.release_obj(application);
EXCEPTION
WHEN no_file THEN
MESSAGE('file not found.');
WHEN OTHERS THEN
MESSAGE(sqlerrm);
PAUSE;
FOR i IN 1 .. tool_err.nerrors LOOP
MESSAGE(tool_err.message);
PAUSE;
tool_err.pop;
END LOOP;
END; -
Hi all,
I want to read data froma an excel sheet.
The code i used to read the data is
IWDAttributeInfo attributeInfo = wdContext.getNodeInfo().getAttribute(IPrivateFileUplaodView.IContextElement.FILE_RESOURCE);
* IWDModifiableBinaryType binaryType = (IWDModifiableBinaryType) attributeInfo.getModifiableSimpleType();*
* IContextElement element = wdContext.currentContextElement();*
* if(element.getFileResource()!= null)*
* try*
* String mimeType = binary.getMimeType().getFileExtension();*
* wdComponentAPI.getMessageManager().reportSuccess("File " + binaryType.getFileName() + " has been successfuly uploaded ! ");*
* catch(Exception e)*
* throw new WDRuntimeException(e);*
* else*
* wdComponentAPI.getMessageManager().reportException("File could not be uploaded", true);*
* // Till here the code remains the same as in File Upload tutorials*
* // Now the code for retrieving the values from the Excel sheet*
* try*
* ByteArrayInputStream bais = new ByteArrayInputStream(element.getFileResource());*
* Workbook workbook = Workbook.getWorkbook(bais);*
* Sheet sheet = workbook.getSheet(0);*
* Cell a1 = sheet.getCell(0,0);*
* Cell a2 = sheet.getCell(0,1);*
* wdComponentAPI.getMessageManager().reportSuccess("Value of cell a1 = " + a1.getContents());*
* wdComponentAPI.getMessageManager().reportSuccess("Value of cell a2 = " + a2.getContents());*
* catch(Exception ex)*
* wdComponentAPI.getMessageManager().reportException(ex.getLocalizedMessage(),true);*
But i am getting error at "binary" in String mimeType = binary.getMimeType().getFileExtension();
and ByteArrayInputStream bais = new ByteArrayInputStream(element.getFileResource()); by saying that there is no constructor of
ByteArrayInputStream with Resource as parameter.
Please let me know what might be the issue so that i can solve this.
Thanks and regards,
Chandrashekar.Hi,
Replace the following code
ByteArrayInputStream bais = new ByteArrayInputStream(element.getFileResource());*
with
IWDResource resource = element.getFileResource();
InputStream inputStream = resource.read(false);
ByteArrayInputStream bais = new ByteArrayInputStream(inputStream);
Regards
Ayyapparaj -
GUI_UPLOAD to read data from an Excel File
Hi Folks,
I'm using FM GUI_UPLOAD to read data from an Excel File. But all I see in the table returned is 1 row with garbage values (special chacaters). Excel Workbook has proper data in the sheet, but its not getting uploaded properly. Sy-subrc is 0.
What could be the reason?
Thanksuse FM : ALSM_EXCEL_TO_INTERNAL_TABLE
See the example program to get from XLS file to Internal table
REPORT ZLWMI151_UPLOAD no standard page heading
line-size 100 line-count 60.
*tables : zbatch_cross_ref.
data : begin of t_text occurs 0,
werks(4) type c,
cmatnr(15) type c,
srlno(12) type n,
matnr(7) type n,
charg(10) type n,
end of t_text.
data: begin of t_zbatch occurs 0,
werks like zbatch_cross_ref-werks,
cmatnr like zbatch_cross_ref-cmatnr,
srlno like zbatch_cross_ref-srlno,
matnr like zbatch_cross_ref-matnr,
charg like zbatch_cross_ref-charg,
end of t_zbatch.
data : g_repid like sy-repid,
g_line like sy-index,
g_line1 like sy-index,
$v_start_col type i value '1',
$v_start_row type i value '2',
$v_end_col type i value '256',
$v_end_row type i value '65536',
gd_currentrow type i.
data: itab like alsmex_tabline occurs 0 with header line.
data : t_final like zbatch_cross_ref occurs 0 with header line.
selection-screen : begin of block blk with frame title text.
parameters : p_file like rlgrap-filename obligatory.
selection-screen : end of block blk.
initialization.
g_repid = sy-repid.
at selection-screen on value-request for p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = g_repid
IMPORTING
FILE_NAME = p_file.
start-of-selection.
Uploading the data into Internal Table
perform upload_data.
perform modify_table.
top-of-page.
CALL FUNCTION 'Z_HEADER'
EXPORTING
FLEX_TEXT1 =
FLEX_TEXT2 =
FLEX_TEXT3 =
*& Form upload_data
text
FORM upload_data.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = p_file
I_BEGIN_COL = $v_start_col
I_BEGIN_ROW = $v_start_row
I_END_COL = $v_end_col
I_END_ROW = $v_end_row
TABLES
INTERN = itab
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
write:/10 'File '.
ENDIF.
if sy-subrc eq 0.
read table itab index 1.
gd_currentrow = itab-row.
loop at itab.
if itab-row ne gd_currentrow.
append t_text.
clear t_text.
gd_currentrow = itab-row.
endif.
case itab-col.
when '0001'.
t_text-werks = itab-value.
when '0002'.
t_text-cmatnr = itab-value.
when '0003'.
t_text-srlno = itab-value.
when '0004'.
t_text-matnr = itab-value.
when '0005'.
t_text-charg = itab-value.
endcase.
endloop.
endif.
append t_text.
ENDFORM. " upload_data
*& Form modify_table
Modify the table ZBATCH_CROSS_REF
FORM modify_table.
loop at t_text.
t_final-werks = t_text-werks.
t_final-cmatnr = t_text-cmatnr.
t_final-srlno = t_text-srlno.
t_final-matnr = t_text-matnr.
t_final-charg = t_text-charg.
t_final-erdat = sy-datum.
t_final-erzet = sy-uzeit.
t_final-ernam = sy-uname.
t_final-rstat = 'U'.
append t_final.
clear t_final.
endloop.
delete t_final where werks = ''.
describe table t_final lines g_line.
sort t_final by werks cmatnr srlno.
Deleting the Duplicate Records
perform select_data.
describe table t_final lines g_line1.
modify zbatch_cross_ref from table t_final.
if sy-subrc ne 0.
write:/ 'Updation failed'.
else.
Skip 1.
Write:/12 'Updation has been Completed Sucessfully'.
skip 1.
Write:/12 'Records in file ',42 g_line .
write:/12 'Updated records in Table',42 g_line1.
endif.
delete from zbatch_cross_ref where werks = ''.
ENDFORM. " modify_table
*& Form select_data
Deleting the duplicate records
FORM select_data.
select werks
cmatnr
srlno from zbatch_cross_ref
into table t_zbatch for all entries in t_final
where werks = t_final-werks
and cmatnr = t_final-cmatnr
and srlno = t_final-srlno.
sort t_zbatch by werks cmatnr srlno.
loop at t_zbatch.
read table t_final with key werks = t_zbatch-werks
cmatnr = t_zbatch-cmatnr
srlno = t_zbatch-srlno.
if sy-subrc eq 0.
delete table t_final .
endif.
clear: t_zbatch,
t_final.
endloop.
ENDFORM. " select_data -
Help! How to read data from an Excel file?
Hi,
I need to read data from an Excel file that may contain more then one table in a sheet. How can I read them?
I would be eternally grateful to anyone who can give me any information.Did you try POI from Apache?
http://jakarta.apache.org/poi/index.html -
How to put the data from one excel sheet in another excel sheet
hi ,
I want put the data from one excel sheet in another excel sheet in seq. order Eg: I have one excel sheet in which i have 3 col. Name , Sno. , Email along with data .I want to put data from this sheet to another excel sheet in the following orders of col. Sno,Name, Email .
While loading data in another sheet , i have to perform validation like char field should n't contain numeric values and vice versa .
Let me know on this soon ..
regards
PrashantWell, you can issue separate queries with the ordering you need from each tab in the spreadhseet. You can open an ODBC connection from a VBA macro, select a sheet, run a query, select another sheet and run another query. As for the validation, you can do this in Oracle via stored procedures or again in VBA code.
-
How to Export Table Data to a excel sheet using OPENROWSET
Hi Team,
I would like to Export table data to a excel sheet by using "OPENROWSET" command in SQL Server but I am getting the
below error message
Column name or number of supplied values does not match table definition.
Please help me on how to export the table data to an excel sheet by using "OPENROWSET" in SQL ServerI know this is old so I assume you've fixed this. However, for anyone else looking at this forum, I'd recommend using a union or a table join.
Select a.1, a.2, a.3 from a <where clause>
union
Select b.1, b.2, b.3 from b <where clause>
or
use a type of join.
If both table selects return the same number of columns but different data just reference them as a variable like fred, and Ted
Select fred.1, fred.2, fred.3 from (Select a.1, a.2, a.3 from a) fred
union
Select Ted.1, Ted.2, Ted.3 from (Select b.1, b.2, b.3 from b) Ted
or again some type of join of these two sets
Select * from
(Select a.1, a.2, a.3 from a) a
INNER JOIN (Select b.1, b.2, b.3 from b) b ON b.1 = a.1
This would give you 6 columns of data a1-3, and b1-3
We don't know from your description what format your spreadsheet is in. These just give you the idea. Think of the sub-selects as a Table. It's just named "fred". Once your select holds all the data you need, then export the data to the spreadsheet. Use
the horsepower of the database before trying to do a multple update of the same spreadsheet.
Does this give you enough to fix what you were trying to do? -
Export data CUBE to EXCEL sheet
Hi all,
this is Sudhakar
can You pls help me out
How to export data CUBE to EXCEL sheet
but I am Excute to my Cube and I am wathcing my data but I dont know how to export data cube to excel
ple tell me any one how to export data ASAP
Thanks and Reagards
SudhakarElse u can use the Next button next to Excel sheet> Loacl file> there r can select it as a spreadsheet and give ur local file name..
-
Reading data from an excel file
Hi,
I want to read data from the excel file and display it in
jsp page. Iam getting the following error:
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =
DriverManager.getConnection("jdbc:odbc:mydsn","","");
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select * from [holidays$]");
Here i have created the dsn with the name "mydsn". I have the
following data in the mydsn.dsn file:
[ODBC]
DRIVER=Microsoft Excel Driver (*.xls)
UID=admin
UserCommitSync=Yes
Threads=3
SafeTransactions=0
ReadOnly=1
PageTimeout=5
MaxScanRows=8
MaxBufferSize=2048
FIL=excel 8.0
DriverId=790
DefaultDir=D:\WorkSpace\Projects\VINET\devl\webroot\jsp
DBQ=D:\WorkSpace\Projects\VINET\devl\webroot\jsp\list_of_holidays_2003.xls
thanks in advance
phani.You might want to look at the POI project (an open source Jakarta sub-project) that allows you to create/modify/read excel files via Java code. That might be more flexible and easier than what you're currently trying to do.
Cheers -
Error while download the data to an Excel sheet for ECC report from EP
Hi experts,
I had created a report program which will download the data to an Excel sheet using SAP OLE object
For this report i had created a tcode too. The report which i developed is perfectly working fine in SAPGUI. But if i download the data to an Excel sheet for the same report throught SAP EP.I am getting the error that "Error in excel downlaod"
I analyed by putting dubigg point and it throws exception while calling Function module.
The excpetion is " OLE object id not found".
Can any body gives a light on this why i'm not able download the excel in ep?
Thanks,
JBHello,
(by the way I came here to ask my question and is my first time visit but...)
The problem is obvious: How do you expect OLE handler can "touch" the local PC Excel through a web browser? I believe that is not possible. That means (at least for me) that I have to create the whole documents before I return them to the user. That is why I use XML Office documents generation or you can try to hack some Export to excel features of ERP reports.
Regards Otto -
Error Data Exporting to Excel sheet
Hi Experts,
webdynpro application , i am trying to export data to excel sheet which is coming from R3 system. it is working for 500 users but when i am trying to export more than 500 users it is showing problem.
regards
pavanHi
Exporting table data to MS-Excel Sheet(enhanced Web Dynpro Binary Cache)
Downloading data into Excel with Format Options
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/edc2f3c2-0401-0010-8898-acd5b6a94353
Regards
Ruturaj -
How to download the ALV Hierchial Tree Data to an Excel sheet.
Hi All,
Can any body please let me ,if there is any possibility to know How to download the ALV Hierchial Tree Data to an Excel sheet.
If yes, please let me know how could this can b acheived.
Regards,
Rohini.Hi Rohini
There is no such functionality provided by SAP to download ALV Tree Hierarichal Tree into excel sheet .
If you had this kind of senario then i can propose one solution create two radio buttons one is to display in ALV Tree Format and the other is classical report which you can download it for futher process
Regards
Hitesh Batra -
Writing data on to excel sheet from java
Hi,
I have to write a java program which writes data on to Excel sheet column by column. How to do this ?Use Jakarta's POI API: http://jakarta.apache.org/poi/index.html
-
How to spool data into multiple Excel sheet if result is more then 65k rows
Hi all,
Wann spool data into multiple excel sheet bocz my resultant no of rows are more then 65k.
Thanks to all in advance.....many choices
1) migrate to a newer version of Excel
2) split the files after spooling
for instance with split
split -l65000 file.txtor with perl, java, vb or what-so-ever
3) do more than one report by using rownum
spool f1
select empno,ename from (select rownum r,empno,ename from emp order by empno) where r<6 ;
spool off
spool f2
select empno,ename from (select * from (select rownum r,empno,ename from emp order by empno) where r<11) where r>5 ;
spool off
spool f3
select empno,ename from (select rownum r,empno,ename from emp order by empno) where r>10 ;
spool off -
hello sir
i want to log analog data in the excell sheet.
the report should be event based i.e if i give start command data should be logged in the excell sheet. please reply me as soon as possibleThere is one very simple solution - use the function write to spreadsheet file from the file I/O palette.
Name the file in the path as *.xls and the file will be opened by excel.
Maybe this simple example clearifies it a little.
Thomas
Message Edited by becktho on 09-05-2005 01:07 PM
Using LV8.0
Don't be afraid to rate a good answer...
Attachments:
StoreToExcel.vi 16 KB
Maybe you are looking for
-
Toshiba Qosmio x505 Q870 problem.
I have just installed Battlefield 3 , and i was playing for a while untill my screen went off. when the screen turned off i was able to hear a loud sound from the laptop might be caused by either the DVD or by some fan inside (I am not sure) i tried
-
External Hard Drives- Shared Vs. Mounted Device & Time Machine
If you connect an external via firewire 800 it's fast for streaming itunes music, iphoto and high def movies- AND it's contacts will back up to your time capsule. If you also connect it via USB to the time capsule you can even access it via back to m
-
Since I have installed iTunes 5 I can't seem to edit song information. When I select more than one song to edit, it won't let me even choose "Get Info." When I select one song, I can choose "Get Info" but when I actually click on the info I'm not abl
-
Is it possible to change theme and font size at run time?
I want to create a project where user can change the theme and font size at run time? Is there any facility to do so in captivate 7?
-
Hi forum, I have pdf file (11 x 8.5 in landscape). When I convert to PowerPoint, I get slide (11 x 11 in). I can't understand why Acrobat Pro XI flips the context. Do you have any ideas why? Please see my screenshots. Thanks,