Append characters to an existin excel file

Hello guys
I've an excel file where I write an array (single data type)of 6 elements by using "Write to Spreadsheet File.vi" On this file I also need to write a new column with the time and date.At this point everthing it´s ok, but when I´m trying to append this new column(date & time) with "Write character to File.vi" it writes this data not in the rigth column but it does it in the first column of the file. Could it be wrong by problems with the EOF marker??
I attached the excel file.
Thanks in advance
Attachments:
test_RPila.xls ‏14 KB

Hello,
When I use the Write to Spreadsheet File.vi to append data to an existing Excel file, the data I input doesn't appear in the file.All I get is replace the Excel file by the new data and I loss the old data. This is due because Excel changes tab-delimited format. There is a KB than explains it:
http://digital.ni.com/public.nsf/websearch/D1629D863F0442CC86256A0200558A15?OpenDocument
You could use the Report Generation Toolkit to avoid this Excel formatting. Look at the following KB and you will see that it is possible:
http://digital.ni.com/public.nsf/websearch/EFCE1C25DCE7483E86256CAF00539451?OpenDocument
If you don't have Report Generation Toolkit, try to contact to NI
regards
crisR

Similar Messages

  • ZipOutputStream appends characters to beginning of zipped file?

    Hi and thanks in advance for any help!
    I am trying to zip Excel files using ZipOutputStream class. I can open the Excel files fine before I zip. Then I run my program to zip. It seems to work. I use WinZip to unzip and when I try and open unzipped file in Excel, Excel says it does not recognize format. Looking at unzipped file in text editor, about 15 wierd characters and nulls are now appended to the beginning of my Excel file that are not in the original. If I delete them in the text editor, Excel can open.
    Here is my zip code:
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ZipOutputStream zos = new ZipOutputStream(baos);
    ArrayList fileNames = new ArrayList();
    fileNames.add ("91PSAG0Jak.csv");
    fileNames.add ("91I9F60K62.csv");
    // Compress the files
    for (int i=0; i<2; i++) {
    String filename = String.valueOf(fileNames.get(i));
    byte[] file = DatabaseUtilities.downloadFile("pdfstoragedir", filename);
    // Add ZIP entry to output stream.
    zos.putNextEntry(new ZipEntry(filename));
    ObjectOutputStream oos = new ObjectOutputStream (zos);
    oos.writeObject(file);
    oos.flush();
    // Complete the entry
    zos.closeEntry();
    //Complete the ZIP file
    zos.close();
    byte[] zipFile = baos.toByteArray();
    DatabaseUtilities.uploadFile("pdfstoragedir", "zipOutput.zip", zipFile);
    FileOutputStream fos = new FileOutputStream("C:\\zipOutput.zip");
    BufferedOutputStream bos = new BufferedOutputStream(fos);
    bos.write(zipFile, 0, zipFile.length);

    Thanks, I got it I think, I can write my byte[] directly to the zipOutputStream:
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ZipOutputStream zos = new ZipOutputStream(baos);
    ArrayList fileNames = new ArrayList();
    fileNames.add ("8aCeOH0Fba.zip");
    fileNames.add ("8da6S40H4e.zip");
    // Compress the files
    for (int i=0; i<2; i++) {
    String filename = String.valueOf(fileNames.get(i));
    byte[] file = DatabaseUtilities.downloadFile("pdfstoragedir", filename);
    // Add ZIP entry to output stream.
    zos.putNextEntry(new ZipEntry(filename));
    zos.write(file);
    // Complete the entry
    zos.closeEntry();
    //Complete the ZIP file
    zos.close();
    byte[] zipFile = baos.toByteArray();
    DatabaseUtilities.uploadFile("pdfstoragedir", "zipOutput.zip", zipFile);
    FileOutputStream fos = new FileOutputStream("C:\\zipOutput.zip");
    BufferedOutputStream bos = new BufferedOutputStream(fos);
    bos.write(zipFile, 0, zipFile.length);

  • How to extract Oracle data into Excel file?

    For a small automation project I have to extract data from a table/
    tables and append it to the existing excel file and feed that excel
    file to a command that will load data into some other environment. I
    am totally new to this. So to get started I wanted to know,
    1) How to extract data from sample table Foo which has columns A,B,C
    and append these values as new columns to an existing excel say
    fooresults.csv ?
    2) Can I achieve this in pl/sql script or do I need to write unix or
    perl script or some other programing language, please advise?

    The "extract data from a table" part is easy, you could do that with VB/ADO, or .NET/ODP.NET. It's then a matter of taking that data and appending it to a spreadsheet that might be the hard part, and how you'd do that exactly is really more of a Microsoft question than an Oracle one.
    If you want to be able to do this from the database itself and your database is on Windows, you could use either [.NET Stored Procedures|http://www.oracle.com/technology/tech/dotnet/ode/index.html] if you can manipulate the spreadsheet in .net code, or you could also use Oracle's [COM Automation Feature|http://www.oracle.com/technology/tech/windows/com_auto/index.html] if you're handy with the COM object model for Excel.
    How you'd do that exactly via either .net or com or vb is the crux of the problem and is something you'd need to know before it turns into an Oracle question, but if you already know how to do that and now just need to figure out a way to do that from Oracle, either of the above might help.
    Hope it helps,
    Greg

  • Report Generation tool kit for MS office (Opening an existing excel file and appending to the bottom)

    I don't have any problems creating and filling an excel sheet with data. I use the New Report.vi, Easy Title.vi, and Easy Text.vi to create the file. I then save and dispose properly.
    What I don't seem to be able to do is open the exsting file and append data to the end of the sheet.
    Thanks in advance for your help.
    todd

    Hi Todd,
    You can do this by creating a new Excel report with the existing excel file path wired to the "template" input. Then use "Excel Get Last Row.vi" (located under Report Generation\Excel Specific\Excel General) to obtain the location of the last row. Then use that location to input new data into the file.
    Hope this helps,
    Dan

  • Can't read special characters in an excel file using JDBC

    Hi! I 've a code to read an excel file using JDBC-ODBC bridge. I can read the values, but any special characters is readed wrong, just symbols. The special characters are of spanish language. This is my code:
                    Locale currentLocale;
              currentLocale = new Locale("es", "MX");
              Locale.setDefault(currentLocale);
                   Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
                   c = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=comisionesperfiles.xls");
                   stmnt = c.createStatement();
                   String query = "Select * from [Hoja1$]" ;
                   ResultSet rs = stmnt.executeQuery( query );
                   while( rs.next() ){
                        String valor = rs.getString(2) ;
                        if(valor != null && !"null".equalsIgnoreCase(valor)){
                             if(!comisiones.contains(valor)){
                                  System.out.println(valor);
                                  comisiones.add( valor );
                   rs.close();
                   stmnt.close();As you can see, I've tried to set the locale, but it didn't work.
    I'm using Excel 2003, Java Version 1.4.2_07 and Windows XP Professional (in latin american spanish).
    Hope someone can help me!

    FYI: Apache's POI can read/write Excel files in Java:
    http://jakarta.apache.org/poi/index.html

  • Append time stamp as a column in an excel file

    Hi
    i want to add timestamp to the last column  of my excel file
    my data is this 
    columnA   columnB  column C  columnD
    temp10     temp11    temp12     timestamp       these are header name
    74.212     73.122     73.222      11AM:23:59.012
    73.444     73.223     74.322      11AM:24:02.083
    73.445     73.478     75.555       11AM.24:03.833
      and continue
    I can use write spreadsheet to have the three numeric tempdata but the last column formatted as time stamp and string 
    how do I add time stamp to my data and call the spreadsheet write VI to append to the excel file ?
    help
    Solved!
    Go to Solution.

    You have at least two possibilities:  One is to do the formatting yourself with string functions and write the data as a text file or an array of strings.
    Another is to convert the timestamp to a Double and save it as numeric data.  This is only useful if your are going to read the data back into LV and analyze it there, because Excel's numeric representation of date and time is different from that used by LV.
    Lynn 

  • Garbage characters in excel file opened by jsp

              I am storing an excel file as blob in database. While retrieving
              from database when I open in the jsp page , it shows a lot of garbage characters
              and all formatting is lost. I am using content type "application/vnd.ms-excel".
              I am also setting correct mime type in web.xml as application/excel. It is weblogic
              6.1 sp2 with oracle 8.1.6. the pdf and word docs are working well. Please help
              soon.
              Thanks
              

    Download the Open G Toolkit from www.openg.org. There is a VI called Quit Application.vi that works great. I have used it with the very stupid Brooks 0154 SmartDDE Controller program to reset the application.
    Be sure to save the document and close the DDE communication first.
    Michael
    www.abcdefirm.com
    Michael Munroe, ABCDEF
    Certified LabVIEW Developer, MCP
    Find and fix bad VI Properties with Property Inspector

  • How to Append an existing Excel file?

    I am using the jexcel api to write to a new excel file. Each time i run my program, it creates a new Excel File by the name i give it. my code to create the excelFile is as below:-
    File excelFile=new File(workDir+"\\"+fileName+".xls");
    WritableWorkbook workbook = Workbook.createWorkbook(excelFile);
    After this code i write some data to a worksheet in the above mentioned excel file. But my requirement is that I want to create the excel if it does not exist, and if it exists, then the data should be appended to the worksheet in the existing excel file. At present it creates a new excel file and does not append it.
    How can it be done? does anyone have any suggestions as to how can i tackle this problem? please suggest something.
    Ankit

    There is no ready-to-run example, as you are searching for, available.
    This has several reasons:
    - It depends on the version of Excel. Examples for Excel 2007 might not work with Excel 2010 for instance.
    - No one just wants to open Excel without doing anything with it.
    The second point is something, i want to ask you:
    Why do you want to open an existing Excel file at all? What is it, what you want to do after opening it?
    If you have LV/C/C#/VB examples doing what you are looking for, why do you want to have it in TestStand directly, so NOT using existing code (saving time and effort) and basically re-inventing the wheel?
    ActiveX is an interface for remote controlling and embedding applications with/in other applications on Windows systems. It is a PROGRAMMING interface.
    So naturally, examples and tutorials exist for programming languages. Those examples are easily converted to TestStand sequences with a basic knowledge of the programming language and TestStand. Providing links for such tutorials/examples is a valid way to give support to fellow developers because we expect the fellow to have that basic knowledge. 
    If that knowledge is not present, i highly recommend to fill that gap.
    just my 2 cents,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Append data to the End of an Excel file

    How can I add new data (of a new aquisition) to an existing excel file without erasing old data? I'd like to add the new data aquisition under the last data aquisition. I have not the excel toolkit.
    I add here two file, the block diagram (i'm new in labview world  ) and what i see in excel when i run my VI. With the program I wrote, i can just save every aquisition in different excel file. 
    I hope i have been clear, thank you for your time.
    L.
    Attachments:
    how to save data acquisition in excel.jpg ‏51 KB
    data acquisition_excel.jpg ‏20 KB

    On the Write To Spreadsheet File function, there is a boolean input to append to file.  Set that to TRUE.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • How to append poi excel files?

    Hi All,
    I am using POI excel files and this is my code to create an excel sheet.
    for(i=0;i<i<files.length();i++)
    String excel=excelFiles[i]
    Date date=  new Date();
      int  rowCount= 45;
    Sample samp=new Sample();
    samp.createWorkbookForLogReport(excel,date,rowCount);
        private HSSFWorkbook createWorkbookForLogReport(String excel,Date date,int rowCount) throws IOException {
            HSSFWorkbook wb = new HSSFWorkbook();
            HSSFSheet sheet = wb.createSheet("new sheet");
            int idx = 0; // rows index
            HSSFRow row = sheet.createRow((short)idx);
            idx++;
            String[] attributessss =
            { "ExcelName", "Date and Time", "RowCount" };
            for (int j = 0; j < attributessss.length; j++) {
                attribute = attributessss[j];
                row.createCell((short)j).setCellValue((String)attribute);
                row = sheet.createRow((short)idx);
                row.createCell((short)0).setCellValue((String)excelFiles);
                row.createCell((short)1).setCellValue(date);
                row.createCell((short)2).setCellValue(rowCount);
                idx++;
            return wb;
    the parametres are continuously changing i am able to write once in the excel file.but couldnt able to append the same excel file.is there any possibility to append the single excel file for changing records.

    is it Not possible?

  • Spanish accent characters are not displayed proper in excel file

    Hi
    I have written a program which displays one report file (.xls file ) on the browser.
    This report file is in spanish language and contains few accent characters like
    ("� � � � � � �"). These characters are not displyed properly in that excel file which is opened in the browser. I have used utf-8 encoding method. I tried with some other encoding methods available. But still this problem continues.
    Kindly provide me help as soon as possible.
    Thanks and
    Regards,
    Deval

    File is generated through a java bean at runtime and it is not stored pgysically.
    If I copy these characters from somewhere to new xls file then it will be displayed properly.
    Sample code which is used for setting headers is as below:
         protected void setContentType (
              HttpServletResponse     p_response
         ,     InstanceData          p_instancedata
              p_response.setHeader ("Cache-Control", "no-cache");
              p_response.setHeader ("Cache-Control", "max-age=0");
              p_response.setHeader (
                   "Content-Disposition", "inline; filename="
              +      p_instancedata.userId
              +      "_"
              +      System.currentTimeMillis ()
              +     ".csv"
              System.out.println("Content generator = ");
              p_response.setHeader("charset","utf-8");
              p_response.setContentType (EXCEL_CONTENT_TYPE);
    For generating this xls file, format of data is XML. Means both request and response data will be in XML format.
    Hope this information help in suggesting any solution for this problem.
    Regards,
    Deval

  • Removing non printable characters from an excel file using powershell

    Hello,
    anyone know how to remove non printable characters from an excel file using powershell?
    thanks,
    jose.

    To add - Excel is a binary file.  It cannot be managed via external methods easily.  You can write a macro that can do this.  Post in the Excel forum and explain what you are seeing and get the MVPs there to show you how to use the macro facility
    to edit cells.  Outside of cell text "unprintable" characters are a normal part of Excel.
    ¯\_(ツ)_/¯

  • How can I append excel file rather than replace it?

    Hi,
    I have the attached VI set to write data to Excel, One case structure sends the data to cell B6, the other sends the data to cell B7. The problem is, the data is deleted from one cell when new data is added to another.
    I think I want to be able to append the data without deleting other cells. Any ideas?
    Thank you
    Todd
    Attachments:
    Flow meter write to Excel question.vi ‏180 KB

    Toddzilla,
    There are a couple different ways to append to excel files.  A couple links that might get you going are:
    Can I Add New Data to an Existing Excel File Without Erasing Old Data?
    Append Data to an Excel Document Every Iteration Using Report Generation Toolkit
    Are you trying to write over cells B6 or B7, or are you trying to append within the cell itself?  
    Hopefully this can get you on the right track.  When I append to files I tend to insert rows or append to the end of the file.
    Scott A
    SSP Product Manager
    National Instruments

  • Importing from XML to Excel - need to know how to append to existing Excel file

    Hello,
    I have several XML files that I will need to import into one Excel spreadsheet. I have been able to figure out how to import an XML file to an Excel file but when I import a second XML file, the contents of the second XML overwrite the Excel spreadsheet.
    I am looking for an option to append. Thanks in advance
    private void XmlToExcel(string xmlFilePath, string excelFilePath)
    object misValue = System.Reflection.Missing.Value;
    DataSet Trans_ds = new System.Data.DataSet();
    Trans_ds.ReadXml(xmlFilePath);
    Excel.Application excel = new Excel.Application();
    excel.Application.Workbooks.Add(true);
    System.Data.DataTable table = Trans_ds.Tables[0];
    Worksheet worksheet = (Worksheet)excel.ActiveSheet;
    Range excelRange = (Excel.Range)worksheet.get_Range("A" + worksheet.Rows.Count, Type.Missing);
    int lastRow = excelRange.get_End(XlDirection.xlUp).Row;
    int ColumnIndex = 0;
    int rowIndex = lastRow++;
    foreach (System.Data.DataColumn col in table.Columns)
    ColumnIndex++;
    excel.Cells[lastRow, ColumnIndex] = col.ColumnName;
    foreach (DataRow row in table.Rows)
    rowIndex++;
    ColumnIndex = 0;
    foreach (DataColumn col in table.Columns)
    ColumnIndex++;
    excel.Cells[rowIndex + 1, ColumnIndex] = row[col.ColumnName];
    worksheet.StandardWidth = 20.0;
    worksheet.SaveAs(excelFilePath, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue);
    excel.Quit();
    releaseObject(worksheet);
    releaseObject(excel);

    See if this helps.  I opened the old excel file and added the new rows into the existing workbook.
    private void XmlToExcel(string xmlFilePath, string excelFilePath, Boolean append)
    object misValue = System.Reflection.Missing.Value;
    DataSet Trans_ds = new System.Data.DataSet();
    Trans_ds.ReadXml(xmlFilePath);
    Excel.Application excel = new Excel.Application();
    Excel.Workbook Bk = excel.Workbooks.Add(true);
    System.Data.DataTable table = Trans_ds.Tables[0];
    Excel.Worksheet worksheet = (Excel.Worksheet)excel.Worksheets[1];
    Excel.Range excelRange = (Excel.Range)worksheet.get_Range("A" + worksheet.Rows.Count, Type.Missing);
    int lastRow = excelRange.get_End(Excel.XlDirection.xlUp).Row;
    int ColumnIndex = 0;
    int rowIndex = lastRow++;
    foreach (System.Data.DataColumn col in table.Columns)
    ColumnIndex++;
    excel.Cells[lastRow, ColumnIndex] = col.ColumnName;
    foreach (DataRow row in table.Rows)
    rowIndex++;
    ColumnIndex = 0;
    foreach (DataColumn col in table.Columns)
    ColumnIndex++;
    excel.Cells[rowIndex + 1, ColumnIndex] = row[col.ColumnName];
    worksheet.StandardWidth = 20.0;
    if (append == false)
    worksheet.SaveAs(excelFilePath, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue);
    else
    //open old workbook
    Excel.Workbook oldworkbook = (Excel.Workbook)excel.Workbooks._Open(
    excelFilePath,
    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing);
    //get first sheet in workbook
    Excel.Worksheet oldxlSht = (Excel.Worksheet)oldworkbook.Worksheets[1];
    //get column A of old worksheet to find last row in sheet
    Excel.Range xlRange = (Excel.Range)oldxlSht.get_Range(
    "A" + oldxlSht.Rows.Count, Type.Missing);
    int LastRow = xlRange.get_End(Microsoft.Office.Interop.Excel.XlDirection.xlUp).Row;
    int newrow = LastRow + 1;
    //get last row of new worksheet
    xlRange = (Excel.Range)worksheet.get_Range(
    "A" + oldxlSht.Rows.Count, Type.Missing);
    LastRow = xlRange.get_End(Microsoft.Office.Interop.Excel.XlDirection.xlUp).Row;
    // copy rows of new worksheet to old worksheet
    xlRange = (Excel.Range)worksheet.Rows["1:" + LastRow, Type.Missing];
    xlRange.Copy(oldxlSht.Rows[newrow, Type.Missing]);
    oldworkbook.Save();
    excel.Quit();
    releaseObject(oldxlSht);
    releaseObject(worksheet);
    releaseObject(excel);
    jdweng

  • Comparing an excel file to and xml file and appending data to the xml file

    I have an xml file (mapsource) and an excel file. One of the columns in the excel file matches up with a node in the xml file. I want to be able to loop through both files and add a new node to the xml file where the one of the columns in the excel file matches a node in the xml file.
    I can create a query object out of the excel dosument using the cfspreadsheet tag.
    I'm able to use xmlparse to create a xml document object from the xml file.
    What I would like to do is add col_3 from the excel spreadsheet as a new node when col_2 is equal to gpx.wpt.name.xmltext of the xml object.
    Any help or direction would be very helpful!

    Hi,
    Thank you for your reply. But I have to attach an excel file from a particular path (C:\TEMP\TEST.XLS) and I have to send that excel file to the user inbox.That excel file has multiple sheets with data. Can you please provide me any code is available.
    Thanks and Regards
    venkat.

Maybe you are looking for