CSV file Download

Hi folks,
I would like to achieve the following functionality (in order)
1. Query DB
2. Parse results returned into CSV format (perhaps, in a stringbuffer or file)
3. Return the CSV file or string to the client
4. Display a pop up window to the user allowing the user to download file.
How do I implement steps 3 and 4? I would really appreciate some sample code.
Cheers,
Rahul

hi shipla,
I ended up using the ByteArrayOutputStream...It seems to work well for now, lemme know if tehre are any issues regarding this. Thanks...
java.io.ByteArrayOutputStream outStream = new java.io.ByteArrayOutputStream();
outStream.write(csv.toString().getBytes());
_ctx.getResponse().setHeader("Content-disposition","attachment;filename=test.csv");
_ctx.getResponse().setContentType("application/excel");
_ctx.getResponse().setContentLength(outStream.size());
outStream.writeTo(_ctx.getResponse().getOutputStream());
_ctx.getResponse().getOutputStream().flush();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Similar Messages

  • CSV File download error

    Hi,
    We have a struts wweb application deployed on weblogic 8.1.3. There is a csv file download functionality in one of the screen. On that screen, first user has to select certain filter parameters and depending on selections made, he gets a set of records on screen. After this, he has the option of downloading the filtered records(appearing on screen) or the entire data set in database in a csv file. Now if user selects the option of downloading entire datasets then it throws following error on screen. error 400 Bad Request.
    log file shows connection reset by peer.
    else if he choses filtered data it will be fine. moreover the error doesnt appear always. it behaves in random manner.
    Could you please advice what can be the problem? Thanking you in advance
    Regards,
    Manu

    user464106,
    As I recommended over on the HTML DB forum, please review this thread. Try the recommendations there and report your findings.
    Problem with importing HTML DB applications
    Sergio

  • Separator problem in CSV file download

    Hi All,
    I am downloading the internal table data in CSV file format using the function modules SAP_CONVERT_TO_CSV_FORMAT  and GUI_DOWNLOAD.
    In the FM SAP_CONVERT_TO_CSV_FORMAT the default value for field separator is ;. But I want comma.
    I am passing comma as a field separator but I am getting ; in my CSV file.
    Please help.
    Thanks in Advance.
    - Neha.

    Hi
    It seems fm SAP_CONVERT_TO_CSV_FORMAT doesn't use the parameter I_FIELD_SEPERATOR, but a the constant C_FIELD_SEPARATOR with value ;
    So u should replace ; with comma after calling that fm or check a SAP note
    Max

  • Dyanmic csv file downloading with out writing a copy to server

    Hi,
    Here is my problem, any help most appriciated..
    I want to download dynamically created CSV file from the weblogic server, using jsp/servlet communication.
    I developed a servlet for this and i called that servlet from my jsp page, when user clicks on download button, my servlet works fine, but it writes a copy of CSV file into c:\bea\wlserver6.0 of the server, My intention is just it's has to dowload file to the client system, with out writing a copy in the server.
    Here is my code snnipits..
    public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
    HttpSession session = req.getSession(true);
    try {
    resultMessageLastBalance = mtdRetrieveLastBalance(req);
    rsTrxnDetailLastBalance = resultMessageLastBalance.getRecordSet("lasttentrxn");
    } catch (Exception e) {
    e.printStackTrace();
    e.getMessage();
    File csvFile;
    FileOutputStream file;
    //codes to generate a file in local server for downloading
    Calendar calendar = Calendar.getInstance();
    String strFileName = Integer.toString(calendar.get(Calendar.YEAR))+Integer.toString(calendar.get(Calendar.MONTH))+Integer.toString(calendar.get(Calendar.DATE))+Integer.toString(calendar.get(Calendar.HOUR))+Integer.toString(calendar.get(Calendar.MINUTE))+Integer.toString(calendar.get(Calendar.SECOND))+Integer.toString(calendar.get(Calendar.MILLISECOND));
    try {
    strFileName = DeformatAcctNo(req.getParameter("acct_trxn__acctselected")) + strFileName + ".csv";
    } catch (Exception e) {}
    calendar = null;
    csvFile = new File(strFileName);
    if (!csvFile.exists()) {
    csvFile.createNewFile();
    file = new FileOutputStream(csvFile);
    res.setContentType("application/download");
    res.setHeader("Content-Disposition","attachment;filename=" + strFileName);
    javax.servlet.ServletOutputStream servletoutputstream1 = res.getOutputStream();
    String s = strFileName;
    dumpFile(s, servletoutputstream1);
    servletoutputstream1.flush();
    servletoutputstream1.close();

    Hi,
    Thanx a lot for ur solution..it's helful for me to send data with a file format,but i need t send data in csv file foramt.
    hav a look at my complete servelt and try to suggesst some thing..
    In this case csv file is creating in c:\bea\wlserver directory.my intensions sre just it jas to download to client, no copy in the server.
    public class AcctStmtD2 extends HttpServlet {
         public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
         //variables for retrieving last balance
         Message resultMessageLastBalance = null;
         RecordSet rsTrxnDetailLastBalance = null;
         double dblDebitTotal = 0.00;
         double dblCreditTotal = 0.00;
         HttpSession session = req.getSession(true);
    Enumeration ea = session.getAttributeNames();
         while(ea.hasMoreElements()) {
         Object name = ea.nextElement();
         System.out.println("values = " + session.getAttribute((String)name));
         try {
         resultMessageLastBalance = mtdRetrieveLastBalance(req);
         rsTrxnDetailLastBalance = resultMessageLastBalance.getRecordSet("formonthtrxn");
         } catch (Exception e) {
         e.printStackTrace();
         e.getMessage();
         File csvFile;
         FileOutputStream file;
         //codes to generate a file in local server for downloading
         Calendar calendar = Calendar.getInstance();
         String strFileName = Integer.toString(calendar.get(Calendar.YEAR))+Integer.toString(calendar.get(Calendar.MONTH))+Integer.toString(calendar.get(Calendar.DATE))+Integer.toString(calendar.get(Calendar.HOUR))+Integer.toString(calendar.get(Calendar.MINUTE))+Integer.toString(calendar.get(Calendar.SECOND))+Integer.toString(calendar.get(Calendar.MILLISECOND));
         try {
              strFileName = DeformatAcctNo(req.getParameter("acct_stmt__acctselected")) + strFileName + ".csv";
         } catch (Exception e) {}
         calendar = null;
         csvFile = new File(strFileName);
         if (!csvFile.exists()) {
         csvFile.createNewFile();
         file = new FileOutputStream(csvFile);
         if (rsTrxnDetailLastBalance.getTotalRowCount() >= 1) {
         String strLastBal = "";
         String strCurrCd = "";
              try {
                        rsTrxnDetailLastBalance.moveLast();
         strLastBal = rsTrxnDetailLastBalance.getValue("bal");
                        rsTrxnDetailLastBalance.moveFirst();
         strCurrCd = "(" + GetCurrCdFromSession(session, req.getParameter("acct_stmt__acctselected")) + ")";
         file.write(("\""+req.getParameter("acct_stmt__acctselected")+"\"").getBytes());
         file.write(',');
         file.write(',');
         file.write(',');
         file.write(',');
         file.write(',');
         file.write(("\""+"Last Balance "+strCurrCd+" = "+strLastBal+"\"").getBytes());
         file.write('\n');
         file.write(("\""+"Date"+"\"").getBytes());
         file.write(',');
         file.write(("\""+"Slip No"+"\"").getBytes());
         file.write(',');
         file.write(("\""+"Description"+"\"").getBytes());
         file.write(',');
         file.write(("\""+"Debit"+" "+strCurrCd+"\"").getBytes());
         file.write(',');
         file.write(("\""+"Credit"+" "+strCurrCd+"\"").getBytes());
         file.write(',');
         file.write(("\""+"Balance"+" "+strCurrCd+"\"").getBytes());
         file.write('\n');
         } catch (Exception e) {System.out.println("!");}
    while(rsTrxnDetailLastBalance.moveNext()) {
         try {
         file.write(("\""+rsTrxnDetailLastBalance.getValue("txn_dt").substring(0,12)+"\"").getBytes());
    file.write(',');
         file.write(("\""+rsTrxnDetailLastBalance.getValue("slip_no")+"\"").getBytes());
         file.write(',');
         file.write(("\""+rsTrxnDetailLastBalance.getValue("dscp")+"\"").getBytes());
         file.write(',');
         file.write(("\""+rsTrxnDetailLastBalance.getValue("debit")+"\"").getBytes());
         file.write(',');
         file.write(("\""+rsTrxnDetailLastBalance.getValue("credit")+"\"").getBytes());
         file.write(',');
         file.write(("\""+rsTrxnDetailLastBalance.getValue("bal")+"\"").getBytes());
         file.write('\n');
         } catch(Exception e) {}
         try {
                             dblDebitTotal += Double.parseDouble(rsTrxnDetailLastBalance.getValue("debit"));
         } catch (Exception e) {
                             dblDebitTotal = 0;
         try {
                             dblCreditTotal += Double.parseDouble(rsTrxnDetailLastBalance.getValue("credit"));
         } catch (Exception e) {
                             dblCreditTotal = 0;
         file.write(',');
         file.write(',');
         file.write(("\""+"Total"+"\"").getBytes());
         file.write(',');
         file.write(("\""+Double.toString(dblDebitTotal)+"\"").getBytes());
         file.write(',');
         file.write(("\""+Double.toString(dblCreditTotal)+"\"").getBytes());
         } else {
         file.write(("\""+"No Record Found!"+"\"").getBytes());
         file.close();
         res.setContentType("application/download");
         res.setHeader("Content-Disposition","attachment;filename=" + strFileName);
                   javax.servlet.ServletOutputStream servletoutputstream1 = res.getOutputStream();
         String s = strFileName;
         dumpFile(s, servletoutputstream1);
         servletoutputstream1.flush();
         servletoutputstream1.close();
    public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
              doGet(req, res);
    private void dumpFile(String s, OutputStream outputstream) {
    byte abyte0[] = new byte[4096];
         boolean flag = true;
         try {
         FileInputStream fileinputstream = new FileInputStream(s);
         int i;
         while((i = fileinputstream.read(abyte0)) != -1)
         outputstream.write(abyte0, 0, i);
         fileinputstream.close();
         } catch(Exception e) {}
    private Message mtdRetrieveLastBalance(HttpServletRequest req) throws Exception {
         Message msgMessage = new Message();
         DAC.Parser.RecordSet objFund_Tx = msgMessage.createRecordSet("formonthtrxn");
         //Set the header fields for the record
         objFund_Tx.addHeaderFields("acctselected","String");
         objFund_Tx.addHeaderFields("formonth","String");
         objFund_Tx.addHeaderFields("foryear","String");
         //Add a new row to the recordset
         objFund_Tx.addRow();
         msgMessage.setData("recordnm", "string", "formonthtrxn");
         //Set the required fields into the recordset
         objFund_Tx.setValue("acctselected", DeformatAcctNo(req.getParameter("acct_stmt__acctselected")));
         objFund_Tx.setValue("formonth", req.getParameter("acct_stmt__formonth"));
         objFund_Tx.setValue("foryear", req.getParameter("acct_stmt__foryear"));
         objFund_Tx.setStatus("select");
         System.out.println("JSP IN :"+msgMessage);
         msgMessage = mtdOpenConnection(msgMessage);
         System.out.println("JSP OUT :"+msgMessage);
         return msgMessage;
    private Message mtdOpenConnection(Message objMessage) throws Exception {
    java.util.Hashtable ht = new java.util.Hashtable();
         ht.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
         ht.put(javax.naming.Context.PROVIDER_URL, "t3://localhost:7001");
    javax.naming.InitialContext ic = new javax.naming.InitialContext(ht);
    DAC.BusinessObjects.RIB.Account.AccountHome pmHome = (DAC.BusinessObjects.RIB.Account.AccountHome)PortableRemoteObject.narrow(ic.lookup("AccountEJB"),Class.forName("DAC.BusinessObjects.RIB.Account.AccountHome"));
         DAC.BusinessObjects.RIB.Account.Account pmObj = (DAC.BusinessObjects.RIB.Account.Account)PortableRemoteObject.narrow(pmHome.create(),Class.forName("DAC.BusinessObjects.RIB.Account.Account"));
         return pmObj.mtdRetrieveTrxForMonth(objMessage);
    private String convertSingleDigitMonthDayToDouble(String param) throws Exception {
         if (param.length() > 1) {
         return param;
         } else {
         return "0" + param;
         //remove dashes and product name and branch code from string
         private String DeformatAcctNo(String strAcctNo) throws Exception {
              strAcctNo.trim();
              return strAcctNo.substring(0,3)+strAcctNo.substring(4,6)+strAcctNo.substring(7,12)+strAcctNo.substring(13,14);
         private     String GetCurrCdFromSession(HttpSession session, String acct_no) throws Exception {
              String strAcctDetail = "";
              String strCurrCd = "";
              Vector vList = (Vector)session.getAttribute("accountlist");
              for (int i = 0; i < vList.size(); i++) {
                   strAcctDetail = (String)vList.get(i);
                   if ((strAcctDetail.substring(0, acct_no.length()).equals(acct_no))) {
                        strCurrCd = strAcctDetail.substring(strAcctDetail.indexOf(":") + 1, (strAcctDetail.indexOf(":") + 4));
                        break;
              vList = null;
              strAcctDetail = null;
              return strCurrCd;
    }

  • CSV file downloading replaces the parent window

    Hi,
    I'm trying to download a .csv file from my web application using Content-Disposition
    here is my code
    response.setContentType("application/octet-stream");
    filename = filename.concat(downloadType);
    response.setHeader("Content-Disposition","attachment; filename="+filename+";");
    //response.setHeader("Content-Disposition","application/octet-stream; filename="+filename+";");
    String source = (String)ivHttpRequest.getAttribute("downloadFile");
    if(downloadType.equals(".txt")) {
    source = Utils.decodeHtmlEntities(source);
    byte [] byteArray;
    if(source == null)
    // use ivRequest instead
    String source2 = (String)ivRequest.getAttribute("downloadFile");
    if(downloadType.equals(".txt")){
    source2 = Utils.decodeHtmlEntities(source2);
    byteArray = source2.getBytes();
    else
    byteArray = source.getBytes();
    ServletOutputStream out = response.getOutputStream();
    out.write(byteArray);
    out.close();
    I'm able to download the file in all the browsers, But while using IPAD the content of the file replaces the existing window (Parent Window) without asking for Save or Open option. So i'm unable to get the parent window again.
    Please let me know is there any special content type or anythinmg else i have to change.. So that i could be able to open the csv file in a new tab without replacing the parent window.The problem i faced only with IPAD

    Hi,
    For pdf file if we choose adhoc or by giving the proper name, we can able to get the options like OPEN or SAVE. This will work fine for pdf.
    But here im trying with csv file /html file, so the file is replacing the existing screen itself when i click the csv link. In my web application, i cannot get the parent window by using back button once i get the csv file instead page gets expired.
    So my best suggestion is should we able to open the csv file in new Tab of safari instead of replacing the parent window where im clicking to open the csv file.
    Suggestions pls.

  • CSV file download takes long time

    Hi all,
    i have an interactive report and there is Download link to file in different formats.
    My query is long running query it took almost 3 mins to execute and show in the region .
    When i want to download the report in CSV format it also took the same time as the query needs to executed.
    My Question ? is why it took the same time download? is it querying DB again to save in CSV?
    How the download to CSV can be faster within seconds.
    Please help me.
    adnan

    is it querying DB again to save in CSV?Yes. Depending on the report pagination property, the screen might showing a subset of the data, the CSV export function has to re-execute the query in order to generate the CSV file. Try tuning the query so it runs faster.
    If you are using IE, I see that the right-click menu has a Export to Excel option; that seems to export just the data you see on the screen, not sure how IE implements that but just thought I would point it out to see if it helps in your situation.

  • Blank page shown instead of Open/Save As dialog box-CSV file download in IE

    I am migrating an application hosted earlier on Oracle 9iAS (9.0.3.1 BP1) to OracleAS 10g (10.1.3) with Struts 1.2.9. While the below JSP code worked for the earlier s/w stack when accessed using IE 5.5 SP2 or above, a blank page is displayed with the new s/w stack. What I mean by "worked earlier" is this. A "Open/Save As" dialog box would appear. Trying to "Open" would open a new IE window launching MS Excel and displaying correct data. Trying to "Save As" would display correct filename and extension in the dialog box.
    <%@page autoFlush="false" contentType="application/x-filler"%>
    <%
    try
    String fileName = "ABC.CSV";
    String strData = "A,B,C";
    response.setContentLength(strData.length());
    response.setHeader("Content-Type","application/octet-stream");
    response.setHeader("Content-Disposition","inline;filename="+fileName);
    ServletOutputStream ouputStream = response.getOutputStream();
    ouputStream.write(strData.getBytes(), 0, strData.getBytes().length);
    ouputStream.flush();
    ouputStream.close();
    catch(Exception e)
    %>
    I tried some changes listed below:
    1. Deliberately introduced compilation errors in the JSP code.
    2. Changed contentType="application/x-filler" to various MIME types like application/x-download, application/vnd.ms-excel, removing it altogether.
    3. Commented out response.setHeader("Content-Type","application/octet-stream") and also tried other MIME types related to CSV/Excel.
    4. Changed Content-Disposition from inline to attachment.
    Each of the above resulted in an unacceptable behaviour compared with the earlier state:
    1. Blank page shown as if nothing was happening even in case of deliberate incorrect JSP syntax.
    2. Dialog box did show up with some combinations. But on trying to "Open" or "Save As", the dialog box shows up a second time. Then while trying to "Open", the contents get opened either inline or in MS Excel but with some additional garbage data like source file name.jsp etc. While trying to "Save As" the file name and extension take on the pattern <URL_Pattern>.htm where URL_Pattern would be "DOWNLOAD_ACTION.do".
    Some other information:
    1. This code works when accessed from desktop local container (Win 2000) but not when deployed on Unix env (HP-UX B.11.11.0109).
    2. Latest patchsets are installed for IE.
    3. The existing application is designed to work for ONLY IE 5.5 SP2 or above, so I haven't tried with other browsers. I have tried both IE 5.5 SP2 and 6.0 SP1.
    Any help in this regard will be highly appreciated.
    Thanks a lot for your valuable time..

    I have made it to work with the below changes:
    1. Changed the URL pattern for <filter-mapping> for *.jsp to /*.jsp
    2. Added <dispatcher>REQUEST</dispatcher> and <dispatcher>FORWARD</dispatcher>
    3. Everything else (code-wise) is as before.
    Because of these changes, the filter, wherein some headers are being added to the response, is being invoked appropriately now.
    Thanks for you time and suggestion though...

  • Why do CSV files downloaded to Excel appear as one sentence; Explorer converts to spreadsheet.

    Downloading census data from http://censtats.census.gov/cgi-bin/bldgprmt/bldgdisp.pl comes across in Explorer directly into Excel with all columns intact. When we use Firefox 3.6.8 it comes across as an old style csv, with "" and commas separating columnar data. How do we get Firefox to import csv into Excel spreadsheet so it doesn't have to be manipulated?

    *Dafizilla Table2Clipboard: https://addons.mozilla.org/firefox/addon/1852

  • Reports region csv file download: can a dynamic file name be used?

    Application Express 3.1.1.00.09
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit
    Firefox 3.0.10
    Hi All,
    In Application Builder -> Report Attributes -> Report Export -> Enable CSV output = 'Yes'
    I want to assign the filename dynamically, based on a variable within the application.
    The text in this box always seems to be used as a literal value.
    Is what I want to do possible?
    Kind Regards,
    Bob.

    Yes, In the report name field you can use a page or application item as as the filename.. This is the syntax: &my_item. where my item is a page or application item..
    Thank you,
    Tony Miller
    Webster, TX

  • To show zeroes after decimal in CSV file

    Hi all,
    A program generates a .CSV file , downloaded to local PC.
    The values should be shown as 2.0000(upto four decimals) and 0 should be 0.0000.
    I tried appending ' - single quote to char field , it's working fine but it's shown
    as '2.0000 in CSV file.
    Is there any other way to show the values with four decimals as 2.0000 ?
    Thanks in advance
    Kaavya.

    Hi,
    Once your value with 4 decimals is ready in variable with type P, move it to anew 'character' variable & use this variable for downloading.
    I hope this helps,
    Regards
    RBC

  • Modifying the structure of the std CSV file in SNC FTR

    Hi All,
    We are using the File for SNI Monitor in SNC 7.0 Ehp1 to facilitate the suppliers in uploading their Inventory data (Unrestricted Stock on Hand) for their location products.
    The issue with the std. CSV file downloaded from the system is that it has all the key figures from the SNI Monitor which we are not interested in. We want the supplier to just see the following key figures for their location products:
    1. Unrestricted-Use Stock- New (its an editable field which the supplier updates in Period0)
    2. Unrestricted-Use Stock- Original (which contains the current inventory data in the SNC system for the location product)
    Now our concerns are:
    a. We are not able to apply the filter to the CSV file for the above key figures as a blank line between location products prevents filtering. This makes it very cumbersome for the supplier to update the stock data for 200+ skus using the std. file
    b. We tried formatting the std. file but ended up with errors on upload.
    Can anyone share their inputs on how to simplify the structure of the Std. CSV file.
    Note: We are looking for std. solutions.
    Regards,
    Bharath

    Hi Mayari,
    though you were successfull with
    METHOD cl_alv_table_create=>create_dynamic_table
    I must warn you not to use it. The reason is that the number of tables created is limited, the method uses GENERATE SUBROUTINE statement and this triggers an unwanted database commit.
    If you know the DDIC structure, it is (starting with ECC6.0) much easier:
    field-symbols:
      <table> type standard table.
    data:
      lr_data type ref to data.
    Create data lr_data type table of (<DDIC structure>).
    assign lr_data->* to <table>.
    The split code can be simplified gaining speed loosing complexity not loosing functionality.
    field-symbols:<fs_s> type any.
    field-symbols:<fs_t> type any.
    SPLIT lv_rec AT ';' INTO table it_string.
    loop at it_string assigning <fs_s>.
      assign component sy-tabix of wa_string to <fs_t>.
    if sy-subrc = 0.
      <fs_t> = <fs_s>.
    endif.
    at last.
      append <fs_itwa3> to <ft_itab3>.
    endat.
    endloop.
    Though it may work as Keshav.T suggested, there is no need to do that way.     
    Regards,
    Clemens

  • Need help to download csv file in application by writting to outputstream.

    HI All,
    Requirment of my client is donloading CSV file from portal.
    My approach  is:
    On clicking "Download" button in JSP I am calling an action in controller and from here I am redirecting call to DownloadCSV.jsp where i am writing to output stream of response.
    Action called in controller:
         @Jpf.Action(forwards = { @Jpf.Forward(name = StaticConstants.SUCCESS, redirect = true, path = "DownloadCSV.jsp") })
         public Forward gotoReports() {
              Forward forward = new Forward(StaticConstants.SUCCESS);
              return forward;
    Download jsp:
    response.resetBuffer();
         response.reset();
         response.setContentType("application/vnd.ms-excel");
         response.addHeader("Content-Disposition", "attachment;filename="+ companyId +"_Audit_Report.csv");
         ServletOutputStream os = response.getOutputStream();
              os .println();
              os .print("DATE");
              os .print("USER");
    os .println();
    os.flush();
    os.close();
    I am able to download the csv file in excel. But after that i am not able to perform any operation in portal page. Mouser pointer becomes busy and cant click on anything.
    Second approach followed:
    I wrote the code for writting to outputstream of outputresponse in controller action itself and forwarded to the same jsp where my download button resides.
    Problem:
    Download happens perfectly but the excel in csv format contains the portal framework generated content also other than content i wrote to response.
    If u have any other approach to download an excel without redirecting to JSP plz let me know. Coing is being done in 10.2 weblogic portal.
    Please help. Its very urgent.
    Plz let me know how a file can be downloded in portal context without keeping a file at server side. I need to download file by writting to outputstream.
    If it is possible plz attach one small example project also.
    Thanks a ton in advance.
    It is very important plz do reply.

    Hi Srinivas,
    For downloading binary content that is not text/html, the Oracle WebLogic Portal content management tools use javascript in an onclick event handler to set the window URL to the URL of a download pageflow controller: window.location = url. The content management tools are in a portal so it should be possible for you to do the same thing.
    The url is a custom pageflow controller that streams the bytes to the response. It sounds like you already have a pageflow you could recycle to use in that way. You don't want to stay within your portlet pageflow because then you will be streaming bytes into the middle of a portal response. You want a separate download pageflow that you invoke directly, outside of the portal framework (in other words, don't invoke it by rendering a portlet that invokes the pageflow).
    You can set the url to invoke the pageflow directly by giving the path to the pageflow controller from the web root (remember the pageflow path matches the package name of the pageflow controller class) like this: "/content/node/nodeSelected/download/DownloadContentController.jpf"
    By the way, for the case of text/html, the tools uses a standalone portlet URL so that the text/html is not rendered in the browser window, which would replace the portal markup (because the browser renders text/html by default, instead of giving you a download widget or opening some other application to deal with the bytes).

  • Download CSV-File from Interactive Report

    Dear all,
    I want to download a CSV-File from a Interactive report.
    The content of the Rows in Excel:
    Erste,"B","C","D","E","F","G","H","I","J","K","L","M","N","O","P"
    IBC ->,"-","1","2","3","4","5","6","7","8","9","10","11","12","13","14" [...]
    How can I solve this problem?
    Thanks for help.

    Your CSV-File use "comma" as separator. But Excel think, that CSV-File separator is "semicolon".
    Try to set "CSV Separator"=";" in section "Report Attributes" - "Download".

  • Problem with finding correct application to open a .csv file from Downloads

    Hi Guys. I've been a Mac user for some time now but have only just found this forum! Anyway, I've downloaded a .csv file to my Download folder but when I click on it to open it I get the "Can't find an application etc. " message. When the dropdown "Choose Application" menu appears it wont choose (ie the "Open" button won't enable). What is a .csv file and what Application would open it (if I can get the thing to choose one in the first place?)
    Your help would be greatly appreciated. (BTW the file comes from my Paypal history if that helps.)

    A .csv file is a standard text file which typically contains data of some sort.
    CSV stands for Comma Separated Values.
    You could open the file using TextEdit, or a Word processor... but the content of the file might look a little strange and it won't be easy to read.
    Your best bet is to import this .csv file using a Spreadsheet application such as Microsoft Excel or other.

  • How to get fixed field length when download a CSV  file ?

    hi all ,
        I had downloaded a CSV file from an ALV list which created by myself. the current layout of the CSV file is :
    aaa;bbbbbbbbbb;cc;                
                                                         for example . but what i want is :
    aaa         ;bbbbbbbbbbb            ;cc     ; 
    it means these three fields are all with fixed length don't ommitting spaces when you preview the CSV file. how should i do this ?
    best regards
    Kevin

    i got the solution.

Maybe you are looking for