Pros and cons of jxl api and apache poi of manipulating the excel sheet.

i want a list of pros and cons of jxl api and apache poi of manipulating the excel sheet.
also i need to know which one is better jxl or apache poi.

Hi Ricardo_Lorenzo,
Whether to go for Multiserver instances or Single server, is totally a user requirement based decison. If a user has Single website, or multiple websites (of the same nature, in terms of functionality), usually the part of same domain, then they would go for Single sever installation. One single instance will handle the requests from all the websites (if there are multiple). There would not be a clustering/failover setup within ColdFusion and can use the ColdFusion Standard or Enterprise version.
On the other hand, if a user has multiple websites, all with different functionality and have multiple applications (may or may not) running, then they can go for Multiserver installation. Each website can be configured with individual instances. Clustering can be done within ColdFusion if needed. One would need an Enterprise license of ColdFusion for the same.
Hope this helps.
Regards,
Anit Kumar

Similar Messages

  • Where is the best place to get/read information of the pros and cons on updating my OS from Snow Leopard to the current OS?

    Where is the best place to get/read information on the pros and cons of updating my OS from Snow Leopard to the current OS?
    I have an iMac 27" intel, purchased Nov 2009.  I am currently using 10.6.8

    Apple OS 10.9 Mavericks:
    Quick overview:
    https://help.apple.com/osx-mavericks/whats-new-from-mountain-lion
    OS X Mavericks supports the following Macs that are already running a minimum of Snow Leopard:
    iMac (Mid-2007 or later)
    MacBook (13-inch Aluminum, Late 2008), (13-inch, Early 2009 or later)
    MacBook Pro (13-inch, Mid-2009 or later), (15-inch, Mid/Late 2007 or later), (17-inch, Late 2007 or later)
    MacBook Air (Late 2008 or later)
    Mac Mini (Early 2009 or later)
    Mac Pro (Early 2008 or later)
    Xserve (Early 2009)
    Transitioning your Mac from Mountain Lion to Apple's new OS X 10.9 Mavericks
    http://appleinsider.com/articles/13/10/23/transitioning-your-mac-from-mountain-l ion-to-apples-new-os-x-109-mavericks

  • Pro's and Con's between Mag+ and DPS

    What are some Pro's & Con's between Mag+ and Adobe DPS? Do they both have the same features, is one easier to use vs the other?

    There is a relatively lengthy previous post on this topic at http://forums.adobe.com/message/5753173#5753173. Please see it for information.
    Neil

  • Urgent pros and cons in ETL  push and pull technologies

    Hello everybody,
    kindly tell pros and cons in ETL push and pull technologies
    by bala

    Hello everybody,
    kindly tell pros and cons in ETL push and pull technologies
    by bala

  • Pros and Cons of Quadro 4500 and X1900

    o ok - i just ran into a delima where my G5 quad's Quadro FX4500 i just found out i cant use it in the MP - so now i have to re config my MP - and weighing the pro's and cons of getting another 4500 or just going with the x1900
    i do alot of HD editing /motion/live type/shake work and working with apeture and photoshop
    so pls id luv to hear the pro's and cons of the 2 cards mentioned

    Then I would suggest you opt for either the ATI X1900XT or the Nvidia Quadro 4500FX. The Nvidia 7300GT won't make the bacon with your requirements.
    For me the differences mostly comes down to money. While I would find it hugely difficult to go with the Quadro given there's not the difference in performance to match the difference in price (you have to bear in mind that you can get the ATI card and 4GB RAM for the same money as the Quadro), it will perform better for your needs.
    On a strictly performance basis the Quadro does appear to be the better option for you requirements. If it's your day job then you should be able to amortize the costs of the Quadro into your expenses.

  • Pros and Cons between BEx client and Web access

    Dear all,
    I am quite new to BI 7.0 and have some question about frontend tools.
    I am looking for a comparison material describing pros and cons of BEx client application and Web access in BI 7.0.
    There are many tools in BEx suite and I am a bit confused about what fuctionality each tool has or what to consider to choose the right tool.
    Thanks a lot in advance and appreciate any input.
    Regards,
    Kazuya

    Hello,
    Shortly speaking there are 4 tools and you need at least 2 of them:
    1. Query Designer: you need it always as this is a tool for defining queries
    2. Web Application Designer: you need it if you want create web reports
    3. Report Designer: only if you want create formatted reports in web
    4. BEx Analyzer: if you want to run queries in Excel (Analyzer is an add-in)
    Help on BEx:
    [http://help.sap.com/saphelp_nw70/helpdata/en/b2/e50138fede083de10000009b38f8cf/frameset.htm]
    -> BI Suite: Business Explorer
    Regards, Karol

  • Pros And Cons Of iPod Touch And iPod Clasic?

    I am upgrading from an older model of the iPod Nano and I was wondering if someone could tell me some of the pros and cons of each(iPod Touch and the iPod Clasic). I am torn between the two and would like some help deciding from someone who actually has had one or both of them. Please and Thanks in advance!

    And when it comes to Apple Lossless it isn't just the 2nd gen Touch that skips. It is a problem that has cropped up on all the iPods at one time or another. Sometimes the issue goes away simply by reinstalling the music. Sometimes it turns out to be the rip that's defective (but the iPod nearly always gets the blame since the user never thinks to play the songs on iTunes before complaining). I've seen it go away after the user reformats the iPod's drive and sometimes an iPod update solves the problem.
    So it isn't just the 2nd gen Touch and you have a viable temporary work around. Deal with it, sell it, or return it. Whining about it won't make it better and I suspect you are like most Lossless users - wasting space because you think what you are hearing is better when you really can't tell the difference most of the time.

  • Execute store procedure( in Id, in out RefCursor), and data fetched in ref cursor should be sent out as excel sheet.

    I am trying to make a ssis package that get the data calling the store proc with two param one is ID and other is Sys_refcursor. Say Store Proc as ListName(Id int, myCur sys_refcursor), which gets the datas with the conditions inside it.
    REATE OR REPLACE PROCEDURE schemaName.LISTNAME (P_ID  IN INT, LST_NAME_REFCUR   IN OUT SYS_REFCURSOR)
    IS
    P_NAMESOURCE_ID INT;
    BEGIN
        SELECT SOURCE_ID INTO P_NAMESOURCE_ID FROM SEARCHING_TABLE ST WHERE ST.ID = P_ID;           
                   IF (P_NAMESOURCE_ID=1)
                   THEN
                      OPEN LST_SOURCE_REFCUR FOR 
                            SELECT ST.ID,
                                   ST.TRANSACTION_DATE AS TRAN_DATE,
              IF (P_NAMESOURCE_ID=1)
                   THEN 
                      OPEN LST_SOURCE_REFCUR FOR             ....     
    then i need to get the data from that refcursor and fetch those data to excel sheet to a virtual directory.
    Any help would be appreciated. I am new to SSIS. and i need to do this assignment this friday. 

    Hi 11srk,
    To fetch data from Oracle store procedure, you can use a Script Component as source to call the Oracle stored procedure by using System.Data.OracleClient OracleDataReader, and get the rows and add them to the pipeline buffer. For more information, please
    see:
    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/1d0b3a1b-8792-469c-b0d1-f2fbb9e9ff20/dump-oracle-ref-cursor-into-ms-sql-staging-table-using-ssis
    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/fcdaa97e-8415-4c3e-8ffd-1ad45b590d57/executing-an-oracle-stored-procedure-from-ssis?forum=sqlintegrationservices
    http://msdn.microsoft.com/en-us/library/system.data.oracleclient.oracledatareader(VS.90).aspx  
    Regards,
    Mike Yin
    TechNet Community Support

  • How to find out How many rows and coloumn exists in the Excel sheet at run

    hai gurus,
             iam uploading excel to application sever,. when i used gui_upload the data is non-readable. so.. i used alsm_excel_to_int fm .but the problem is user can upload any type of Excel to Application so i need to know the total no of rows and coloum at runtime .is there any possiblity to find out those values.
    Plz help me.
    if any one answered , rewards points,
    Thanks &Regards,
    Venu.T

    Hi kiran,
    i u case better to upload the data first to application server than u can run the bdc program that will helps u
    try these T-code for uploading data from prsentation server to application
    CG3Y and CG3Z this will helps.
    reward is usefull.
    thanks.
    patil.

  • How to find out How many rows and coloumn exists in the Excel sheet

    hai gurus,
                 present iam uploading data from presentation server to application server.  when i use gui_upload the data is coming non-readable format.
    so i used alsm_excel_to_int fm for that . but the problem is user can give any type of excel so... i need to know how many rows and coloumn s existed in that Excel
    so is there any possiblity to get those values(Total rows and total coloumns).
    plz help me..
    if any one answered , appreciate with reward points,
    thanks&regards,
    Venu.T

    see you have to come into an agreement with other system before starting development..
    Please dont do unnecessary coding for impractical things ..you may solve this but this is not good way of working in eRP packages..
    Al least u can get final list of all Columns and which can be blank or non blank like this
    then u can  do coding for this scenerio
    regards...
    Message was edited by:
            Madan Gopal Sharma

  • KM Cache and iView Cache - Pros and Cons

    Hi All,
    Can anyone tell me which Caching mechanism is better - KM Caching or iView Caching ?
    What are the Pros and Cons of KM Caching and iView Caching ? Which type of caching is recommended ?
    Any kind of help is appreciated.
    Regards,
    Adren

    Hi Adren,
    As to my understanding, with Portal Cache, we can achieve the following:
    1. Significant improvement in the interface response time
    2. Unnecessary, additional page generation (re-rendering) is avoided when you call a portal page
    3. Web browser-like caching for server-based, dynamic pages in the Web (such as the BW Application Web)
    Cache monitor to monitor the current status of all active caches in your system landscape. The data displayed in the cache monitor can be used for evaluations
    KM cache might eb better than Iview cache.
    Please check the below links we might get soem info about the type of cache which is preferable.
    http://help.sap.com/saphelp_nw04s/helpdata/en/1d/33863c68bebc2ce10000000a114027/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/57/29e334d0049967e10000009b38f83b/frameset.htm
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/b52de690-0201-0010-c5a6-b4bde0a12e44
    Hope this helps you.
    Good Luck!
    Regards,
    Shaila...

  • Pros and Cons of L73x

    I am interested to know the shortcomings of L73x. It's better to know before I buy than to shed tears later. I understood that not any phone can feature all functionalities still it's good to know the pros and cons.

    senba wrote:
    I will expect nothing short of the features which the predecessor / lower end variant was delivering.
    The Nokia model-numbering scheme gives a false impression. For example, a 22€ Nokia 2730 classic had a better sound equalizer than the Nokia 808 PureView. For example, a Nokia Lumia 930 did not get Glance Screen although the Nokia Lumia 630 and Nokia Lumia 1520 do.
    The numbers do not indicate lower/higher but again just these target audiences. I do not like comparisons because they go wrong easily but let us go for this: The first/front number is very much like grades in school. There is 5th grade, 6th grade and so on. As you expect from a class, not all pupils are perfect. Some pupils have a deficit in that feature, some are outstanding in that ability. That continues over the years, and as consequence a 9th grade pupil is still not perfect – not in every aspect. In some areas of knowledge and expertise, a 6th grade might be better, in same areas. Think about the numbering scheme as an academic year in school, I would not go for lower/higher in proficiencies just from the number.
    Predecessor/successor – same here. Nokia never aimed to create predecessors. Neither in model numbers, nor in feature set, nor in price tags. The current naming Lumia x2x versus Lumia x3x looks like that, but is more about a ‘generation’. Although normal guys like you and me love to stick to the well-known, Nokia hates to accompany us on our journey with a successor every year – like others do quite well.
    Nokia; no predecessor/lower here. Successor? Improvement in feature set? Nokia: ‘Please go for the one your network operator offers at that time; we have done it right for you, already.’ Hopefully, hopefully, Steven Elop as a Master of Computer Science – a software man – finds the vim to tell those hardware guys about the expectations of end-users, one day. Until then, do not expect too much from them.
    senba wrote:
    Can [Glance Screen] be introduced in a later stage through some OS updates[?]
    I do not expect this to happen because the software is written, therefore my guess: hardware is missing. This is not like sound equalizer, Miracast, or FM radio – cases which Windows Phone had no software support when the hardware was finished. Anyway, just a guess. But again I would not expect Glance Screen for the Nokia Lumia 735.

  • Pros and cons of IDOC AAE

    Hi All,
    I have read that SAP Pi 7.3 has java based IDOC and HTTP adapters. I would like to know the pros and cons of IDOC AAE and also the cases or scenarios where the adapter cannot be used.
    Please help me with this.
    Regards,
    meenakshi

    PI 7.3 can have either java only installation or both java and abap stack.  I meant both local (JAVA) and classical engine (ABAP AND IE) processing
    Pros: AAE processing is faster and certainly boost performance than traditional or classical IE  engine processing. Same for both HTTP and Idoc adapter.
    Cons: Monitoring capabilities are not great at Java only installation level. AAE monitoring capability is very limited at this time.  Also BPM related scenarios cannot be seamlessly migrated to java stack (AAE) level. We need to wait for sometime on this.

  • Deletion and Creation of Excel sheet

    Hi,
    I have to remove the monthly spread sheet every time and create a new spread sheet while executing the code. The problem is when I run the code the records inserted into same spread sheet along with the previous records. So I need to delete the excel file and create new one. I am using POI to create the spread sheet. ICan anyone help me on this? I am posting the code below.
    import org.apache.poi.hssf.usermodel.*;
    public class MonthlyVolume {
         public static void execute(String[] args) {
              try {
                   Properties props = new Properties();
                   props.load(new FileInputStream("MonthlyVolume.properties"));
                   String rpt_name = props.getProperty("rpt_loc");
                   if (! rpt_name.endsWith("/")) {
                        rpt_name += "/";
                   rpt_name += "Monthly Volume - " + strlast_monthyear + ".xls";
                   generateExcel(rs, rpt_name, region_code, location_code, country_description, company_id, principal_debit_account, account_name, bt_count, total_bt_usd, ct_count, total_ct_usd, dr_count, total_dr_usd, avg_daily_trans, avg_daily_usd, tot_count, tot_usd, fx_count, fx_usd_amt, import_count);
              } catch (Exception e) {
                   e.printStackTrace();
         public static void generateExcel(ResultSet rs, String rpt_name, String region_code, String location_code, String country_description, String company_id, String principal_debit_account, String account_name, int bt_count, double total_bt_usd, int ct_count, double total_ct_usd, int dr_count, double total_dr_usd, int avg_daily_trans, double avg_daily_usd, int tot_count, double tot_usd, int fx_count, double fx_usd_amt, int import_count) {
              try {
                   HSSFWorkbook wb = null;
                   HSSFSheet sh = null;
                   short row_num = 1;
                   while (rs.next()){
                        try {
                             System.out.println(" I am inside try block");
                             wb = new HSSFWorkbook(new FileInputStream(rpt_name));
                             sh = wb.getSheet("Totals");
                             for (row_num = 0; true; row_num++) {                              
                                  if (sh.getRow(row_num) == null) {
                                       break;
                        } catch (FileNotFoundException e) {
                             System.out.println(" I am inside catch block");
                             wb = new HSSFWorkbook();
                             sh = wb.createSheet("Totals");
                             HSSFRow row = sh.createRow((short)0);
                             HSSFCell cell0 = row.createCell((short)0);
                             HSSFCell cell1 = row.createCell((short)1);
                             HSSFCell cell2 = row.createCell((short)2);
                             HSSFCell cell3 = row.createCell((short)3);
                             HSSFCell cell4 = row.createCell((short)4);
                             HSSFCell cell5 = row.createCell((short)5);
                             HSSFCell cell6 = row.createCell((short)6);
                             HSSFCell cell7 = row.createCell((short)7);
                             HSSFCell cell8 = row.createCell((short)8);
                             HSSFCell cell9 = row.createCell((short)9);
                             HSSFCell cell10 = row.createCell((short)10);
                             HSSFCell cell11 = row.createCell((short)11);
                             HSSFCell cell12 = row.createCell((short)12);
                             HSSFCell cell13 = row.createCell((short)13);
                             HSSFCell cell14 = row.createCell((short)14);
                             HSSFCell cell15 = row.createCell((short)15);
                             HSSFCell cell16 = row.createCell((short)16);
                             HSSFCell cell17 = row.createCell((short)17);
                             HSSFCell cell18 = row.createCell((short)18);
                             cell0.setCellValue("Region");
                             cell1.setCellValue("Country");
                             cell2.setCellValue("Country Name");
                             cell3.setCellValue("Company ID");
                             cell4.setCellValue("Account Number");
                             cell5.setCellValue("Account Name");
                             cell6.setCellValue("Total Trans");
                             cell7.setCellValue("Total Amount");
                             cell8.setCellValue("FX Count");
                             cell9.setCellValue("FX USD Equivalent");
                             cell10.setCellValue("Avg Daily Trans");
                             cell11.setCellValue("Avg Daily Amount");
                             cell12.setCellValue("Import Count");
                             cell13.setCellValue("Cust Trans");
                             cell14.setCellValue("Amount");
                             cell15.setCellValue("Bk Trans");
                             cell16.setCellValue("Amount");
                             cell17.setCellValue("Drafts");
                             cell18.setCellValue("Amount");
                             HSSFCellStyle cs = wb.createCellStyle();
                             HSSFFont f = wb.createFont();
                             f.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
                             cs.setFont(f);
                             cell0.setCellStyle(cs);
                             cell1.setCellStyle(cs);
                             cell2.setCellStyle(cs);
                             cell3.setCellStyle(cs);
                             cell4.setCellStyle(cs);
                             cell5.setCellStyle(cs);
                             cell6.setCellStyle(cs);
                             cell7.setCellStyle(cs);
                             cell8.setCellStyle(cs);
                             cell9.setCellStyle(cs);
                             cell10.setCellStyle(cs);
                             cell11.setCellStyle(cs);
                             cell12.setCellStyle(cs);
                             cell13.setCellStyle(cs);
                             cell14.setCellStyle(cs);
                             cell15.setCellStyle(cs);
                             cell16.setCellStyle(cs);
                             cell17.setCellStyle(cs);
                             cell18.setCellStyle(cs);
                        sh.setColumnWidth((short)0, (short)3000);
                        sh.setColumnWidth((short)1, (short)4000);
                        sh.setColumnWidth((short)2, (short)6000);
                        sh.setColumnWidth((short)3, (short)4000);
                        sh.setColumnWidth((short)4, (short)4200);
                        sh.setColumnWidth((short)5, (short)12000);
                        sh.setColumnWidth((short)6, (short)4000);
                        sh.setColumnWidth((short)7, (short)5000);
                        sh.setColumnWidth((short)8, (short)4000);
                        sh.setColumnWidth((short)9, (short)5000);
                        sh.setColumnWidth((short)10, (short)4000);
                        sh.setColumnWidth((short)11, (short)5000);
                        sh.setColumnWidth((short)12, (short)4000);
                        sh.setColumnWidth((short)13, (short)5000);
                        sh.setColumnWidth((short)14, (short)4000);
                        sh.setColumnWidth((short)15, (short)5000);
                        sh.setColumnWidth((short)16, (short)5000);
                        sh.setColumnWidth((short)17, (short)5000);
                        sh.setColumnWidth((short)18, (short)5000);
                        HSSFRow row = sh.createRow(row_num);
                        HSSFCell cell0 = row.createCell((short)0);
                        HSSFCell cell1 = row.createCell((short)1);
                        HSSFCell cell2 = row.createCell((short)2);
                        HSSFCell cell3 = row.createCell((short)3);
                        HSSFCell cell4 = row.createCell((short)4);
                        HSSFCell cell5 = row.createCell((short)5);
                        HSSFCell cell6 = row.createCell((short)6);
                        HSSFCell cell7 = row.createCell((short)7);
                        HSSFCell cell8 = row.createCell((short)8);
                        HSSFCell cell9 = row.createCell((short)9);
                        HSSFCell cell10 = row.createCell((short)10);
                        HSSFCell cell11 = row.createCell((short)11);
                        HSSFCell cell12 = row.createCell((short)12);
                        HSSFCell cell13 = row.createCell((short)13);
                        HSSFCell cell14 = row.createCell((short)14);
                        HSSFCell cell15 = row.createCell((short)15);
                        HSSFCell cell16 = row.createCell((short)16);
                        HSSFCell cell17 = row.createCell((short)17);
                        HSSFCell cell18 = row.createCell((short)18);
                        region_code = rs.getString("region_code");
                        location_code = rs.getString("location_code");
                        country_description = rs.getString("country_description");
                        company_id = rs.getString("company_id");
                        principal_debit_account = rs.getString("principal_debit_account");
                        account_name = rs.getString("account_name");
                        bt_count = rs.getInt("bt_count");
                        total_bt_usd = rs.getDouble("total_bt_usd");
                        ct_count = rs.getInt("ct_count");
                        total_ct_usd = rs.getDouble("total_ct_usd");
                        dr_count = rs.getInt("dr_count");
                        total_dr_usd = rs.getDouble("total_dr_usd");
                        avg_daily_trans = rs.getInt("avg_daily_trans");
                        avg_daily_usd = rs.getDouble("avg_daily_usd");
                        tot_count = rs.getInt("tot_count");
                        tot_usd = rs.getDouble("tot_usd");
                        fx_count = rs.getInt("fx_count");
                        fx_usd_amt = rs.getDouble("fx_usd_amt");
                        import_count = rs.getInt("import_count");
                        cell0.setCellValue(region_code);
                        cell1.setCellValue(location_code);
                        cell2.setCellValue(country_description);
                        cell3.setCellValue(company_id);
                        cell4.setCellValue(principal_debit_account);
                        cell5.setCellValue(account_name);
                        cell6.setCellValue(tot_count);
                        cell7.setCellValue(tot_usd);
                        cell8.setCellValue(fx_count);
                        cell9.setCellValue(fx_usd_amt);
                        cell10.setCellValue(avg_daily_trans);
                        cell11.setCellValue(avg_daily_usd);
                        cell12.setCellValue(import_count);
                        cell13.setCellValue(ct_count);
                        cell14.setCellValue(total_ct_usd);
                        cell15.setCellValue(bt_count);
                        cell16.setCellValue(total_bt_usd);
                        cell17.setCellValue(dr_count);
                        cell18.setCellValue(total_dr_usd);
                        HSSFCellStyle csNumber = wb.createCellStyle();
                        HSSFCellStyle csCurrency = wb.createCellStyle();
                        HSSFCellStyle csString = wb.createCellStyle();
                        csNumber.setDataFormat((short)3);
                        csCurrency.setDataFormat((short)7);
                        csString.setDataFormat((short)7);
                        cell0.setCellStyle(csString);
                        cell1.setCellStyle(csString);
                        cell2.setCellStyle(csString);
                        cell3.setCellStyle(csString);
                        cell4.setCellStyle(csString);
                        cell5.setCellStyle(csString);
                        cell6.setCellStyle(csNumber);
                        cell7.setCellStyle(csCurrency);
                        cell8.setCellStyle(csNumber);
                        cell9.setCellStyle(csCurrency);
                        cell10.setCellStyle(csNumber);
                        cell11.setCellStyle(csCurrency);
                        cell12.setCellStyle(csNumber);
                        cell13.setCellStyle(csNumber);
                        cell14.setCellStyle(csCurrency);
                        cell15.setCellStyle(csNumber);
                        cell16.setCellStyle(csCurrency);
                        cell17.setCellStyle(csNumber);
                        cell18.setCellStyle(csCurrency);
                        wb.write(new FileOutputStream(rpt_name));
              } catch (Exception e) {
                   e.printStackTrace();
         public static void main(String[] args) {
         MonthlyVolume.execute(args);
    }

    I have to remove the monthly spread sheet every time
    and create a new spread sheet while executing the
    code. The problem is when I run the code the records
    inserted into same spread sheet along with the
    previous records. So I need to delete the excel file
    and create new one. I am using POI to create the
    spread sheet. ICan anyone help me on this? I am
    posting the code below.I don't think I want to read all that code. If you want to replace the data, you can remove the sheet and create a new one with the same name. HSSFWorkBook has methods removeSheetAt() and createSheet().

  • On excel sheet upload read the workbook and populate data to sharepoint list

    Requirement in my current project:
    In a document library when I upload an excel sheet, a specific workbook has to be read and the contents have to be uploaded to a sharepoint custom list.
    The approach followed was create an event receiver and register as a feature. Following is the code for event receiver.
    public override void ItemAdded(SPItemEventProperties properties)
                base.ItemAdded(properties);
                var list = getSPList("{150301BF-D0BD-452C-90D7-2D6CD082A247}");          
                SPListItem doc = properties.ListItem;
                doc["Msg"] = "items deleted from req list";
                doc.Update();
                string excelname=doc.File.Name;
                System.Diagnostics.EventLog.WriteEntry("ExcelUpload", "calling read excel");
                string filepath = doc.File.Url.ToString();
                doc["Msg"] = "excel name" + excelname + filepath;
                doc.Update();
                readExcel(excelname,filepath);
            private static SPList getSPList(String SPListGuid)
               // SPSite Site = SPContext.Current.Site;
                SPSite Site = new SPSite("http://omistestsrv:32252/sites/OMD");
                SPWeb web = Site.OpenWeb();
                Guid listid = new Guid(SPListGuid);
                web.AllowUnsafeUpdates = true;
                SPList List = web.Lists[listid];
                return List;
            private void readExcel(string excelname,string filepath)
                try
                    SPSecurity.RunWithElevatedPrivileges(delegate()
                        using (SPSite Site = new SPSite("http://omistestsrv:32252/sites/OMD"))
                            SPWeb web = Site.OpenWeb();
                            string workbookpath = web.Url + "/" + filepath;
                            web.AllowUnsafeUpdates = true;
                            var _excelApp = new Microsoft.Office.Interop.Excel.Application();
                            System.Diagnostics.EventLog.WriteEntry("ExcelUpload", "iside read excel");
        //my code breaks or fails when cursor reaches this statement. I am not able to open the excel sheet, there is no    //problem related to the permission. same code snippet works in a console application. but when tried as an
    event    //handler in sharepoint it breaks. can anyone help me to resolve the problem
                            workBook = _excelApp.Workbooks.Open(workbookpath, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing,
    Type.Missing, Type.Missing, Type.Missing,Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing, Type.Missing);
                            System.Diagnostics.EventLog.WriteEntry("ExcelUpload", "after excel open");
                                int numSheets = workBook.Sheets.Count;
                                // Iterate through the sheets. They are indexed starting at 1.
                                System.Diagnostics.EventLog.WriteEntry("ExcelUpload", numSheets.ToString());
                                for (int sheetNum = 12; sheetNum < 13; sheetNum++)
                                    System.Diagnostics.EventLog.WriteEntry("ExcelUpload", "inside first for
    loop");
                                    Worksheet sheet = (Microsoft.Office.Interop.Excel.Worksheet)workBook.Sheets[sheetNum];
                                    Microsoft.Office.Interop.Excel.Range excelRange = sheet.get_Range("A13",
    "P89") as Microsoft.Office.Interop.Excel.Range;
                                    object[,] valueArray = (object[,])excelRange.get_Value(
                                        Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault);
                                    var list = getSPList("{150301BF-D0BD-452C-90D7-2D6CD082A247}");
                                    for (int L = 1; L <= excelRange.Rows.Count; L++)
                                        string stringVal = valueArray[L, 1] as string;
                                        if ((valueArray[L, 1] != null) && (!string.IsNullOrEmpty(stringVal)))
                                            System.Diagnostics.EventLog.WriteEntry("ExcelUpload",
    "inside second for loop");
                                            SPListItemCollection
    listItems = list.Items;
                                            SPListItem item = listItems.Add();
                                            item["Product"] = valueArray[L,
    1];
                                            item["App"] = valueArray[L,
    2];
                                            web.AllowUnsafeUpdates
    = true;
                                            item.Update();
                                web.AllowUnsafeUpdates = false;
                                //Or Another Method with valueArray Object like "ProcessObjects(valueArray);"
                                _excelApp.Workbooks.Close();
                    //workBook.Close(false, excelname, null);
                    //Marshal.ReleaseComObject(workBook);
                catch (Exception e)
                    System.Diagnostics.EventLog.WriteEntry("ExcelUpload", e.Message.ToString());
                finally
                    System.Diagnostics.EventLog.WriteEntry("ExcelUpload", "finally block");
    Is this the only approach to meet this requirement or is there any other way to crack it. sharepoint techies please help me.

    as you described the scenario of the event that it should happen when user upload excel to a document library. Event Receiver is your best bet. However if you would have a requirement that users can send excel files any time to a network file location and
    you want to pick it, read it and create list items etc. You would write a sharepoint timer job that would run every 10 minute to check for file and if available on the network drive, perform the operation etc. so that users who send excel file does not need
    to come to the sharepoint etc. You can see that you have Event Receivcer option or Timer job option OR you would write a console application to trigger the code at a scheduled time on sharepoint server etc. so you are using the event receiver in the correct
    scenario.
    Moonis Tahir MVP, MCPD, MCSD.net, MCTS BizTalk 2006/SQL 2005/SharePoint Server 2007 (Dev & Config)

Maybe you are looking for