Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5
Default Excel Automation speed (version + OS)

I wonder if anyone can have an educated guess at this question (if not the
corrrect answer).

Every month I am going to have to open ~100,000 excel workbooks copy some
arrays of data to some ranges then save and close them so that they are
readable in Excel 97. I would like to do this as quickly and stabley as
possible.

Assuming money is not an issue............

Which version of office should I use?
How should I automate the process - VB6, .NET, something else ???
What Operating System should I use?
What are the attributes of PC hardware that will affect this process the
most?

any tips/pointers to info would be greatly appreciated.

regards,

Richard




  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,885
Default Excel Automation speed (version + OS)

Hi
really 100000 workbooks? To be honest if you need so many
files Excel is probably not the best application for this.

You may explain with some more detail what you're doing
with these files. Maybe a database application is a better
way to do this.


-----Original Message-----
I wonder if anyone can have an educated guess at this

question (if not the
corrrect answer).

Every month I am going to have to open ~100,000 excel

workbooks copy some
arrays of data to some ranges then save and close them so

that they are
readable in Excel 97. I would like to do this as quickly

and stabley as
possible.

Assuming money is not an issue............

Which version of office should I use?
How should I automate the process - VB6, .NET, something

else ???
What Operating System should I use?
What are the attributes of PC hardware that will affect

this process the
most?

any tips/pointers to info would be greatly appreciated.

regards,

Richard




.

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 535
Default Excel Automation speed (version + OS)

Hi Richard,

Every month I am going to have to open ~100,000 excel workbooks copy

some
arrays of data to some ranges then save and close them so that they

are
readable in Excel 97. I would like to do this as quickly and stabley

as
possible.

Assuming money is not an issue............


...Then I could do this as a paid project <smile ?

(see website below)

Which version of office should I use?


Excel XP or 2003 seems most sensible, stability-wise

How should I automate the process - VB6, .NET, something else ???


Excel's own VBA is most appropriate.

What Operating System should I use?


Whatever suits you best.

What are the attributes of PC hardware that will affect this process

the
most?


RAM and Disk speed I guess.

But the design of your routine will have the biggest impact.

Regards,

Jan Karel Pieterse
Excel MVP
www.jkp-ads.com



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 968
Default Excel Automation speed (version + OS)

Hi Richard,

If you really mean 100K workbooks you will certainly have severe
difficulties (memory leaks etc) using Excel to accomplish this task.

The simplest solution would probably be to make sure that the 100K workbooks
are written in CSV format and use VB or some other suitable language to read
them, and write out the result as a CSV as well:
basically simplify the file format as much as possible.


regards
Charles
______________________
Decision Models
The Excel Calculation Site.
www.DecisionModels.com

"Richard Bond" wrote in message
...
I wonder if anyone can have an educated guess at this question (if not the
corrrect answer).

Every month I am going to have to open ~100,000 excel workbooks copy some
arrays of data to some ranges then save and close them so that they are
readable in Excel 97. I would like to do this as quickly and stabley as
possible.

Assuming money is not an issue............

Which version of office should I use?
How should I automate the process - VB6, .NET, something else ???
What Operating System should I use?
What are the attributes of PC hardware that will affect this process the
most?

any tips/pointers to info would be greatly appreciated.

regards,

Richard






  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5
Default More Information on Question

Thank you for your replies - I think I need to clarify some information.

Firstly producing 100,000 workbooks wasn't my idea at all - I don't have a
choice.

Secondly theses workbooks are essentially template sheets with linked
charts - so csv output insn't an option. Nor is using office web components
(as only the spreadsheet component supports xlfileformat saving??). I have
tried using softartisans Excel writer - but this was rather slow.

I'm going to to settle for automating excel I think from vb.Net app.

So I was thinking of using:

Windows XP
Excel XP
VB.Net (hopefully the com interop layer doesn't slow things down too
much???)

Regarding Charles's question about excel memory leakage - should I restart
Excel periodically to sort this out?

regards,

Richard





"Richard Bond" wrote in message
...
I wonder if anyone can have an educated guess at this question (if not the
corrrect answer).

Every month I am going to have to open ~100,000 excel workbooks copy some
arrays of data to some ranges then save and close them so that they are
readable in Excel 97. I would like to do this as quickly and stabley as
possible.

Assuming money is not an issue............

Which version of office should I use?
How should I automate the process - VB6, .NET, something else ???
What Operating System should I use?
What are the attributes of PC hardware that will affect this process the
most?

any tips/pointers to info would be greatly appreciated.

regards,

Richard








  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,885
Default More Information on Question

Hi
still not that much information :-)
In total this sounds like a medium scale project (so you
probably end up hiring someone developing this). But maybe
you can give some more information like:
- how are you using these 100K spreadsheets
- who and where do you enter information#
- how should these charts/files be linked
- WHY do you need 100K spreadsheets (I really can't think
of a business reason for this)

so in total outline your business specification first. To
be honest I still believe Excel is not the right
application for this. This sounds like a database
application with strong reporting needs. and there're
better solutions for this (KMHO) than Excel




-----Original Message-----
Thank you for your replies - I think I need to clarify

some information.

Firstly producing 100,000 workbooks wasn't my idea at

all - I don't have a
choice.

Secondly theses workbooks are essentially template sheets

with linked
charts - so csv output insn't an option. Nor is using

office web components
(as only the spreadsheet component supports xlfileformat

saving??). I have
tried using softartisans Excel writer - but this was

rather slow.

I'm going to to settle for automating excel I think from

vb.Net app.

So I was thinking of using:

Windows XP
Excel XP
VB.Net (hopefully the com interop layer doesn't slow

things down too
much???)

Regarding Charles's question about excel memory leakage -

should I restart
Excel periodically to sort this out?

regards,

Richard





"Richard Bond" wrote in

message
...
I wonder if anyone can have an educated guess at this

question (if not the
corrrect answer).

Every month I am going to have to open ~100,000 excel

workbooks copy some
arrays of data to some ranges then save and close them

so that they are
readable in Excel 97. I would like to do this as

quickly and stabley as
possible.

Assuming money is not an issue............

Which version of office should I use?
How should I automate the process - VB6, .NET,

something else ???
What Operating System should I use?
What are the attributes of PC hardware that will affect

this process the
most?

any tips/pointers to info would be greatly appreciated.

regards,

Richard






.

  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5
Default More Information on Question

Okay If we work from the back end

I have say ~1000 clients globally
Each client subscribes to ~5 Markets of Data
These ~5 Markets will be aggregated to a specific level per client
The aggregated data format is going to be an MS OLAP cube.
As soon as an OLAP cube is produced every month, reports that require this
datasource will be produced, This is done per user, This is the Excel
workbook stage.

These reports are then going to be emailed as attatchments or sent out via
cd (sounds unlikely to me however I am told there are clients without email
access?? commercial dept being over-cautious)

I think we can ignore the set up of these templates - The main problem is
the production process:

I HAVE to produce Excel files (Nothing i can say or do is going to affect
the commercial teams requirements in this matter) - so my question is still
valid - and not undoable. I would just like some advice on speed and
stability - I am reasonably well experienced in Excel programming/automation
via vb6 early and late binding - but at a client rather than a server level.

So there are now things I can control to a greater degree in terms of OS
version, Office Version etc - and I was looking for guidance on this (and
other production tips), as I don't have the facilities to test different
scenarios in time.

regards,

Richard






"Frank Kabel" wrote in message
...
Hi
still not that much information :-)
In total this sounds like a medium scale project (so you
probably end up hiring someone developing this). But maybe
you can give some more information like:
- how are you using these 100K spreadsheets
- who and where do you enter information#
- how should these charts/files be linked
- WHY do you need 100K spreadsheets (I really can't think
of a business reason for this)

so in total outline your business specification first. To
be honest I still believe Excel is not the right
application for this. This sounds like a database
application with strong reporting needs. and there're
better solutions for this (KMHO) than Excel




-----Original Message-----
Thank you for your replies - I think I need to clarify

some information.

Firstly producing 100,000 workbooks wasn't my idea at

all - I don't have a
choice.

Secondly theses workbooks are essentially template sheets

with linked
charts - so csv output insn't an option. Nor is using

office web components
(as only the spreadsheet component supports xlfileformat

saving??). I have
tried using softartisans Excel writer - but this was

rather slow.

I'm going to to settle for automating excel I think from

vb.Net app.

So I was thinking of using:

Windows XP
Excel XP
VB.Net (hopefully the com interop layer doesn't slow

things down too
much???)

Regarding Charles's question about excel memory leakage -

should I restart
Excel periodically to sort this out?

regards,

Richard





"Richard Bond" wrote in

message
...
I wonder if anyone can have an educated guess at this

question (if not the
corrrect answer).

Every month I am going to have to open ~100,000 excel

workbooks copy some
arrays of data to some ranges then save and close them

so that they are
readable in Excel 97. I would like to do this as

quickly and stabley as
possible.

Assuming money is not an issue............

Which version of office should I use?
How should I automate the process - VB6, .NET,

something else ???
What Operating System should I use?
What are the attributes of PC hardware that will affect

this process the
most?

any tips/pointers to info would be greatly appreciated.

regards,

Richard






.



  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,885
Default More Information on Question

Hi Richard
thanks for the info. Now this makes more sense :-)
Though sending out Excel files still sounds very strange for me but if
your clients want this... (I would prefer getting raw data as a
client - did something similar for a German stock exchange).

But now to your questions:
- I would use Excel 2003 (seems to be more stable than the previous
versions)
- OS - I wouldn't really care. Windows 2000 / Windows XP
- Creating this many files via automation you may run into the troubles
Charle's pointed out (memory leaks). So maybe closing the Excel object
would be a good idea after you've created some files

Note: Not sure if creating an XML file would also be possible 8using
Excel 2003).



--
Regards
Frank Kabel
Frankfurt, Germany


Richard Bond wrote:
Okay If we work from the back end

I have say ~1000 clients globally
Each client subscribes to ~5 Markets of Data
These ~5 Markets will be aggregated to a specific level per client
The aggregated data format is going to be an MS OLAP cube.
As soon as an OLAP cube is produced every month, reports that require
this datasource will be produced, This is done per user, This is the
Excel workbook stage.

These reports are then going to be emailed as attatchments or sent
out via cd (sounds unlikely to me however I am told there are clients
without email access?? commercial dept being over-cautious)

I think we can ignore the set up of these templates - The main
problem is the production process:

I HAVE to produce Excel files (Nothing i can say or do is going to
affect the commercial teams requirements in this matter) - so my
question is still valid - and not undoable. I would just like some
advice on speed and stability - I am reasonably well experienced in
Excel programming/automation via vb6 early and late binding - but at
a client rather than a server level.

So there are now things I can control to a greater degree in terms of
OS version, Office Version etc - and I was looking for guidance on
this (and other production tips), as I don't have the facilities to
test different scenarios in time.

regards,

Richard






"Frank Kabel" wrote in message
...
Hi
still not that much information :-)
In total this sounds like a medium scale project (so you
probably end up hiring someone developing this). But maybe
you can give some more information like:
- how are you using these 100K spreadsheets
- who and where do you enter information#
- how should these charts/files be linked
- WHY do you need 100K spreadsheets (I really can't think
of a business reason for this)

so in total outline your business specification first. To
be honest I still believe Excel is not the right
application for this. This sounds like a database
application with strong reporting needs. and there're
better solutions for this (KMHO) than Excel




-----Original Message-----
Thank you for your replies - I think I need to clarify

some information.

Firstly producing 100,000 workbooks wasn't my idea at

all - I don't have a
choice.

Secondly theses workbooks are essentially template sheets

with linked
charts - so csv output insn't an option. Nor is using

office web components
(as only the spreadsheet component supports xlfileformat

saving??). I have
tried using softartisans Excel writer - but this was

rather slow.

I'm going to to settle for automating excel I think from

vb.Net app.

So I was thinking of using:

Windows XP
Excel XP
VB.Net (hopefully the com interop layer doesn't slow

things down too
much???)

Regarding Charles's question about excel memory leakage -

should I restart
Excel periodically to sort this out?

regards,

Richard





"Richard Bond" wrote in

message
...
I wonder if anyone can have an educated guess at this

question (if not the
corrrect answer).

Every month I am going to have to open ~100,000 excel

workbooks copy some
arrays of data to some ranges then save and close them

so that they are
readable in Excel 97. I would like to do this as

quickly and stabley as
possible.

Assuming money is not an issue............

Which version of office should I use?
How should I automate the process - VB6, .NET,

something else ???
What Operating System should I use?
What are the attributes of PC hardware that will affect

this process the
most?

any tips/pointers to info would be greatly appreciated.

regards,

Richard






.


  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default More Information on Question

Richard,

This sounds like a *huge* project...

Here are a couple of thoughts...

Using VB.Net (or FoxPro or C#) is definately the way to go but I'm no
sure about 'automating Excel'. Using MS Excel as a com object wil
slow things down and add a layer of complication that I would try t
avoid.

Have you considered just opening the sheets in VB as a ODBC table? Yo
could then write your revised data to the xls file and close it. Whe
the user later opens file in excel97, the linked charts would updat
reflecting the revised data.

Another option might be to publish the sheets with embedded links to
web accessable database (MS Sql or MySQL). When the user opens th
sheet it could automatically update itself from centraly stored data.
If you could take this route then your task would just be to get th
data into your database. You could avoid the complications o
shuffling and email ing 100000 sheets every month. The downside woul
be the support issue. It caould be a daunting task to get the correc
ODBC drivers installed on all your user's machines.

Good luck,

Mike Clar

--
Message posted from http://www.ExcelForum.com

  #10   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 968
Default More Information on Question

Hi Richard,

I thought you were reading 100K workbooks, but I guess you are actually
writing them.

I would have thought Excelwriter was a product to look at, I would have
expected it to be a lot faster than Excel at writing a large number of
spreadsheets.

Otherwise I think the overhead and memory handling problems of using
anything other than VBA- driven Excel is probably going to be large.
Charts are likely to make matters worse.

Personally I would use Excel 2002 and XP since in my experience its a bit
more stable than excel 2003 at the moment.

But you are almost certainly going to have to process in very small
(relative to 100K) batches closing excel completely after each batch, so
probably how you automate the batches is going to be the critical element.

Charles
______________________
Decision Models
The Excel Calculation Site.
www.DecisionModels.com

"Richard Bond" wrote in message
...
Thank you for your replies - I think I need to clarify some information.

Firstly producing 100,000 workbooks wasn't my idea at all - I don't have a
choice.

Secondly theses workbooks are essentially template sheets with linked
charts - so csv output insn't an option. Nor is using office web

components
(as only the spreadsheet component supports xlfileformat saving??). I have
tried using softartisans Excel writer - but this was rather slow.

I'm going to to settle for automating excel I think from vb.Net app.

So I was thinking of using:

Windows XP
Excel XP
VB.Net (hopefully the com interop layer doesn't slow things down too
much???)

Regarding Charles's question about excel memory leakage - should I restart
Excel periodically to sort this out?

regards,

Richard





"Richard Bond" wrote in message
...
I wonder if anyone can have an educated guess at this question (if not

the
corrrect answer).

Every month I am going to have to open ~100,000 excel workbooks copy

some
arrays of data to some ranges then save and close them so that they are
readable in Excel 97. I would like to do this as quickly and stabley as
possible.

Assuming money is not an issue............

Which version of office should I use?
How should I automate the process - VB6, .NET, something else ???
What Operating System should I use?
What are the attributes of PC hardware that will affect this process the
most?

any tips/pointers to info would be greatly appreciated.

regards,

Richard










  #11   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default More Information on Question


I was working on an excell automation task that had to copy data ranges.
Just make sure you get the data range in 1 range as an array and not
cell by cell. Pehaps this is very obvious but in my case the thing
worked 100 times faster if I got all the data of a row as an array in
stead of picking the cell data of that row cell by cell.

In C#

Application App = new Excel.ApplicationClass();
// Open Workbook ...
// Get Sheet ...
int RowIndex = 1;
// Get Row Range Object
Range ThisRow = (Excel.Range)ThisWorkSheet.Rows[RowIndex,
System.Reflection.Missing.Value];
// Get Array of data (2 dimensional Array, in this case 1 by [column
count], with VB style 1 based index)
Array RowData = (Array)ThisRow.Value;
// Loop over all Data
for (int ColIndex = 1; ColIndex <= RowData.Count; ColIndex++)
{
object CellData = RowData[ColIndex];
}
// This works MUCH faster then
for (int ColIndex = 1; ColIndex <= RowData.Count; ColIndex++)
{
object CellData = ((Excel.Range)ThisWorkSheet.Cells[ThisRow,
ColIndex]).Value
}



Microsoft Reference (in C++): Use MFC to Automate Excel and Obtain an
Array from a Range (url:
http://support.microsoft.com/default...b;EN-US;186122)



*** Sent via Devdex http://www.devdex.com ***
Don't just participate in USENET...get rewarded for it!
  #12   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Excel Automation speed (version + OS)

Richard,


You are certainly going to need to close and reopen the Excel object periodically. The number of workbooks you can make will probably be dependent on...

1. The version of Excel you are using. Based upon my experience, Excel 97 will make about half as many as Excel 2000 or later. Excel 2000 and 2002 are about the same and Excel 2003 is slightly more stable.

2. If you create charts you definately want to keep the Autoscale font attribute set to false. This is a huge resource hog if you leave it on.

3. The number of fonts in the workbook, keep to a minimum.

Finally, I think that Excel Writer was designed to do this kind of thing and would be much faster than automation. There are a couple of new vendors selling .NET Excel writing tools such as Syncfusion with Essential ExcelRW.
If you must automate, then VB 6.0 would probably be faster than going through the PIO in .NET. Althought I haven't speed checked the new Office 2003 .NET system.
--
Philip Mayfield
www.sigmazone.com


"Richard Bond" wrote:

I wonder if anyone can have an educated guess at this question (if not the
corrrect answer).

Every month I am going to have to open ~100,000 excel workbooks copy some
arrays of data to some ranges then save and close them so that they are
readable in Excel 97. I would like to do this as quickly and stabley as
possible.

Assuming money is not an issue............

Which version of office should I use?
How should I automate the process - VB6, .NET, something else ???
What Operating System should I use?
What are the attributes of PC hardware that will affect this process the
most?

any tips/pointers to info would be greatly appreciated.

regards,

Richard





Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How do I save an Excel 97-2003 version or 2007 version for Mac 200 Bronigal Excel Discussion (Misc queries) 1 December 7th 09 08:04 AM
Speed and Excel Version Jeff Excel Discussion (Misc queries) 3 July 29th 07 03:56 PM
Recover earlier version of excel sheet after new version saved? stephanie38 Excel Discussion (Misc queries) 3 June 17th 05 03:52 AM
How can I update the version of Excel 2000 9.0 to version 10.0 Ramsey Can Excel Discussion (Misc queries) 1 May 11th 05 03:28 PM
Office automation application which will work with any version of office C#.NET Silly Programmer Excel Programming 1 February 21st 04 10:54 AM


All times are GMT +1. The time now is 08:08 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"