Writing double precision to Excel

Hi folks,
as others, I am having problems with writing doubles to Excel with the new Report Generation Toolkit.
My problems are due to localized decimal points and as far as I figured out, this makes it impossible to use the "EasyExcel Table.vi", feeding in a numeric array as designed. It might be that this problem is due to the writing, then backreading and rewriting of the table, programmed by NI in the "Excel_Insert_Table.vi" (fig. 1). At least the code does not make sense to me .
A solution like converting the numbers to text myself and then sending the text to Excel becomes very clumsy, when I have to check for the country settings, convert points to commas and vice versa and in addition, I did not find out how to read these settings programmatically.
Now, I just recently figured out an elegant solution to the problem that I implemented for the previous version of the Toolkit: Don't convert the numbers but transfer them to Excel in binary format (fig. 2).
Excel (2003 at least) understands these numbers perfectly. I thus programmed a custom "EasyExcel TableHL.vi" (including its subVIs), in order not to change the Toolkit library.
Now, due to problems with Office 2007, I have to upgrade to the new toolkit version and I do not know, how to deal with the new object oriented approach.
It is clear, the easiest solution to my problem would be, NI fixing it by writing non converted numbers to Excel (as you expect from the appearance of "EasyExcel Table.vi" ).
A second solution would be to modify the the toolkit, which I don't like.
The third way then is to learn OOP, build a new class with the desired functionality ........ , leaving the toolkit untouched.
Now my question is: Does anybody have a fourth possibility or can anybody give me a hint, how laborious it will be, to dig into OO-programming to do the above described work?
Thank's in advance.
Herbert
Attachments:
Excel_Insert_Table.jpg ‏123 KB
write DBL to Excel.jpg ‏118 KB

Hello Marian,
the toolkit I am using is 1.1.3 together with LabVIEW 8.6.
Now, since I do need a solution due to customers waiting, I tried to modify the Office-library and I succeeded.
This means, I am very thankful to NI that it did not protect all the VI's by password, as it did with the classes. This fact enabled me to implement my solution into NI's VI's and become unsensitive to  the country settings of the customer.
Now, since only "non-protection" made this simple solution possible, I would like to ask NI to protect as few code as possible. I know, NI does so in order to protect it's intellectual property. On the other hand, open code provides the user the possibility to correct bugs himself, which can be "vital" in some situations (according to my experience, this happens seldom, but it does happen).
Thank's
Herbert

Similar Messages

  • Formatting a string with time stamp and double precision numbers

    %s\t%f\r%f
    This is a format string that I have in old code that I've decided to change.  Problem is I cannot make sense of the string codes in my own old code! Let me explain what I want, and hopefully someone can explain how to do it.
    I am using the format into string subvi to merge a time stamp (formatted as %m%d%Y%H%M%S%5u) and two different double precision numbers.  This string is then wired into the Write Characters to File subvi so that I can record data as a .txt file, and open it in either Matlab or Excel.  There is a minor problem with the string format above because in excel the first time stamp entry is blank, and the first loop only gives the two double precision numbers withouth the time stamp - the time stamp appears in the next loop (probably a looping issue and not due to the string format, but if you see differently please let me know).  Now what I want to do is 1. potentially fix that problem and 2. add some more doubles. 
    1. Is there a string format issue that is evident that I am not seeing that causes the time stamp to be formatted into the string after a carriage return?  Or should I be looking at looping issues?
    2. How do I add another one - three floating point numbers (double precision)?  Are the \'s marking different numbers in this string constant?  Or is it the %?  I can't find any information about the \'s, but I see that % begins the format specifier. 
    Ideally, I want these data in the following columns:  Date, Time(absolute), FP, FP, FP, carriage return for the next loop (FP is floating point double precision number).
    Thanks,
    Brad

    Hi JonN,
    Here there is no need of string concordinate function (in your code), the same result you can find if you connect the output of the format string to shift register, and shift register in data to initialize string connector in format into string function.
    <<KUDOS ARE WELCOME>>
    ELECTRO SAM
    For God so loved the world that he gave his one and only Son, that whoever believes in him shall not perish but have eternal life.
    - John 3:16

  • What use of having double precision in java.awt.geom?

    Hi,
    I am trying to draw a line using Line2D with this param:
    g2d.draw( new Line2D.Double( 1.1d, 1.5d, 1.9d, 1.5d ) );
    in my own JPanel paint method.
    However, the result is that the panel does not display a line nor a dot at all. Only when i change it to:
    g2d.draw( new Line2D.Double( 1.0d, 1.5d, 2.0d, 1.5d ) );
    that it draws a dot in the panel's first pixel.
    Can someone please guide or tell me why is this so? And what is the purpose of providing a double value for a geom ( such as Rentagle2D, Line2D, etc )?
    The actual case is that I have created a graph with x and y axis. I set the graph to be 400pixel * 400 pixels. And the scale for the graph is 1 million unit * 1 million unit which means a pixel would have contain (1000000/400) units, or 0.004 pixels represent 1 unit. The problem occurs when i try to draw a line that is only 10 unit.(which nothing is draw on the panel). I try to use all 2D geom with double precision, yet i could not get the result that I wanted. Isn't that java 2D will handle the double precision for graphing or drawing?
    Your help and reply is very much appreciated.
    Thank you.

    have in mind that you always have to fill 1 pixel to see anything as the panel has a 1 pixel grid.
    i guess the thing about double precision is in the contains(...) or crosses(...) methods of the geom.* objects.
    its nothing about drawing. how can you draw finer than the 1 pixel grid.
    even the antialias has to fill more pixel to make you thing the line is smooth. (BTW: antialias makes fonts widt less than 10px look terrible :))

  • Time Stamp problem while writing data into the excel file

    Hii, All
                  I am taking the data from the DAQ card of the TOPSCCC with the 8 ms of scanrate for each channel and there are total 16 no of Analog channels in the Card, now i am acquiring the data from the card, time stamping it and writing it into the excel file, which is tab delimited, now the problem is, the data which are in the excel file have the same timestamp for 4 to 5 continuous records, instead we want each data with the different and continuous time stamp with same difference of time stamp between two records, mean if it is difference of 8 ms then it should be the 8 ms for all, but here it is taking the differnce of 16 ms for two samples and giving same time stamp for four to five records and that shouldn't happen, here i am attaching my vi, drivers for the cards and Excel file with the data, can you please give me any suggestion how to do it?
           Please help me i require this suggestion as early as possible, i am requiring it urgently.
    Thanks in Advance,
    Nishant
    Attachments:
    2026vi.llb ‏319 KB
    2026_ScanMultAD_Demo_time.vi ‏80 KB
    Data.xls ‏357 KB

    Hello Nishant,
    that's what I meant:
    Message Edited by GerdW on 05-16-2006 10:32 AM
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome
    Attachments:
    timestamp-array.png ‏2 KB

  • Possible bug: Saving array with extended and double precision to spreadshee​t

    If one concatenates a double precision array and an extended precision array with the "build array" vi and then saves using "Write to Spreadsheet File" vi any digits to the right of the decimal place are set to zero in the saved file. This happens regardless of the format signifier input (e.g. %.10f) to the  "Write to Spreadsheet File" vi.
    I am on Vista Ultimate 32 bit and labview 9.0
    This is a possible bug that is easily circumvented by converting to one type before combining arrar to a spreadsheet. Nonetheless, it is a bug and it cost me some time.
    Solved!
    Go to Solution.
    Attachments:
    Spreadsheet save bug.vi ‏9 KB

    Hi JL,
    no, it's not a bug - it's a feature
    Well, if you would look more closely you would recognize the "Save to Spreadsheet" as polymorphic VI. As this polymorphic VI doesn't support EXT numbers internally (it only supports DBL, I64 and String) LabVIEW chooses the instance with most accuracy: I64 (I64 has 64 bits precision, DBL only 53...). So your options are:
    - set the instance to use as DBL (by right-click and "Select type...")
    - make a copy of this VI, save it with a different name and make it support EXT numbers (don't rework the polymorphic VI as you would break compatibility with other LV installations or future revisions)
    And yes, those coercion dots always signal some conversions - you should atleast check what's going on there...
    Message Edited by GerdW on 05-21-2010 10:01 PM
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Convert double precision float string to a number

    I am a newbie with Labview.
    I have a GPIB link with a vector voltmeter and I receive the data as a double precision float string (IEEE standard 754-1985). I would like it to be recognized as a number, but I can't find the proper conversion function. The string to convert is 8 byte long. Does anyone have an idea how to do it? Thank you!

    Asumming your data is big-endian, you should be able to simply typecast it to a DBL (see attache LV 7.0 example).
    (It is possible that your DBL string is little-endian, in this case it will be slightly more complicated. Let us know )Message Edited by altenbach on 05-27-2005 04:49 PM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    StringToDBL.vi ‏23 KB

  • ARM Luminary TCP debug double precision numbers

    Hi,
    I'm working with Labview and a LM3S8962 Luminary evaluation board.
    I'm debugging with TCP port and when I use double precision float variables I see some like random numbers on my front panel indicators or on my probe points (i.e. 1.5664325e34.....-12.452244e128) for those variables, but at the same time I'm printing the numbers on the board LCD display and they are shown ok. If I do all the opperations on double precision and then convert the result number to single presicion to display it...then indicators and probes works fine. Also if I do debug with USB ULINK JTAG all works ok on single, double and extended presicion.
    Have anybody experienced something like that?
    I'm missing some TCP configuration perhaps? 
    Regards,
    Matthuz

    Hello Kevin, thank you for your reply.
    I'm attaching a little demo to show you what is going on. If I set the debug options to use ULink all works nice, but it doesn't with TCP.
    It could be something with the signal generator that I'm using?
    Attachments:
    Test_Double.zip ‏16 KB

  • Can Photoshop or Lightroom utilize double-precision capable GPUs for photographic image editing.

    Hello - I need to upgrade my graphics card.  Question can either Photoshop CS5 or Lightroom 5 utilize doubleprecision capable GPUs?  Thanks much for your help.
    Background: Application- photographic RAW files editing (no video editing.) Software- Photoshop version CS5 and Lightroom version 4,  OS- windows 7 64bit, Hardware- Asus P8P67 Deluxe LGA 1155, Intel Core i5 2400 processor, 16GB SDRAM, SSD (apps/temp files), HD (archives), current videocard- Quatro FX 1500.

    Let me start by saying I don't know what's inside the Mercury Graphics Engine.  Certainly Adobe has not published anything stating the thing would benefit from double precision.
    Double precision increases the floating point word size from where it carries 24 bits of mantissa precision to 52 bits, if I'm not mistaken.  Since one each floating point number is used to represent red, green, and blue, even single precision floating point is going to give you all the accuracy of any document format.
    From another perspective, your display only shows a maximum of 10 bits per channel -if you have 30 bit color.  Most don't; most have 24 bit color, or 8 bits per channel of display accuracy.
    I honestly don't know why the graphics card designers created the really deep formats - perhaps for specific CAD software or because scientific computing needs acceleration of very accurate calculations.  I'm pretty sure Photoshop won't use it - at least not for a few versions yet.
    -Noel

  • Converting array of Double Precision values to U16 for MODBUS

    Hello,
    I am trying to send over pressure and temperature information via the Input Register array in MODBUS TCP.  My question is, how to I properly send over an array of double precision values without loosing my data?
    For example, my array of data looks like:
    12.0001
    32.001
    0.00051234
    0.0014838
    1.02
    12.0232
    31.920
    Thanks so much.

    Thank you Ravens Fan for replying.
    I missed one extra point of data.  Below is what I'd like to send:
    12.0001
    32.001
    0.00051234
    0.0014838
    1.02
    12.0232
    31.920
    2046
    The array above is an array of double precision values.  I will convert that array to an array of single precision floating data to reduce data size.
    Since I have eight pieces of single precision floating point data now, I will need to write to 16 registers correct?  What is the best method to split up each piece of data into two consecutive registers?
    Attached is a Slave Send Data.VI that I want to send this data through.  The end goal is to have a Master PC (not using labview, but a MODBUS utility) to read my MODBUS TCP message from the "Slave Send Data.vi" 
    Thanks
    Attachments:
    Slave Send Data.vi ‏15 KB

  • Unable to display double values in Excel sheet using JExcel API

    Hi
    I am writing code to generate report in the form of Excel Sheet using JExcel API.
    Everything is going fine but whenever I want to put some double values in a cell it is only showing 2 decimal places. My problem is "I want to show upto five decimal places".
    Any kind of reply might help me lot.
    Thank U.

    If you enable the submit zero option, it still happens? This is a new feature on the display tabl
    #NumericZero Enhancements
    To display a numeric zero in place of an error message, you can enter #NumericZero in any of the three Replacement text fields. When you use the #NumericZero option:
    · Excel formatting for the cell is retained.
    · All calculations with dependency on the cell will compute correctly and will take the value of this cell as zero.
    · This numeric zero is for display only. When you submit, the zero value is NOT submitted back to the data source.
    You cannot set display strings for cells that contain an invalid member or dimension name (metadata error). Metadata errors produce standard descriptive error messages.
    Errors are prioritized in the following order from highest to lowest. The error message for a higher-priority error takes precedence over that for a lower-priority error.
    1. (Highest) Metadata errors
    2. #No access
    3. #Invalid/Meaningless
    4. #No data\Missing

  • Problem with writing continuous data to excel using using Report Generation vi's

    Hey Everyone,
    I am trying to read the data from DAQ and write to excel continuously using Report Generation vi's. 
    But when I run the VI, it writes only one interation of the while loop (gathering data from DAQ continuously) and doesn't append the data into the same file when I run it again after stoping the VI. 
    I have attached the VI i created. Please let me know if you have any idea to solve this issue. 
    Thanks
    Attachments:
    sample 5.vi ‏35 KB

    There are two problems with your VI.  First, the basic logic of writing/appending to a file (Excel, TDMS, anything) should go something like this:  Open the file, position yourself at the end of the file, then, in the loop, acquire data and write it to the file until you are finished with data acquisition.  When you exit the acquire/write to file loop, then close the file.  In particular, the opening and the closing of the file should not be inside the loop.
    As others have pointed out, writing to Excel might not be optimal, particularly if you are acquiring data at a high rate (and would therefore be writing a lot of data). We actually use Excel in our data acquisition routine, mainly reading from a WorkSheet to get the parameters of a particular stimulus, but also writing the outcome of the response to the stimulus.  As it happens, our "acquisition rate" in this example is on the order of several samples per minute, so there's no problem using Excel (we also sample 16 channels of analog data at 1 KHz -- this gets written as a binary file).
    Second, if you really do want to use Excel, use the (existing) Excel file to which you want to append as the "template" argument of the New Report function.  Then use the Excel Get Last Row function to position yourself at "end of file", as noted above.
    Good Luck.
    Bob Schor

  • Writing double to file

    basically all i want to do is to write a double array in to a file and then read it back i actually want this to be a seperate class
    The problem
    First i enter 5 double all = 1; Then i read it back return all one, which is ok but then i try to write other number to the file it still returning all one
    public class Storage extends JFrame{
        double aiw[];                           //This is use to take data from Ai class
        File weightfile3 = new File("weightdata3.dat");
        File weightfile5 = new File("weightdata5.dat");       
         File weightfile10 = new File("weightdata10.dat");
            //= new File("weightdata.dat"); //This create a file for saving the weight
      //  private RandomAccessFile file;
    //    private JMenuItem newItem, updateItem,deleteItem,openItem,exitItem;
         Storage()
          //  weightfile3 = new File("weightdata3.dat");
            //weightfile5 = new File("weightdata5.dat");       
              //weightfile10 = new File("weightdata.dat");
        public void weightSave(double tempw[], int size)
        //This function save the data according to the information
         if(size == 3)
         File weightfile3 = new File("weightdata3.dat");
            try{//try to write data
                FileOutputStream file = new FileOutputStream(weightfile3, true);
                BufferedOutputStream buff = new BufferedOutputStream(file);//uses for buffering
                DataOutputStream weightdata = new DataOutputStream(buff);
                System.out.println("Inside weight function");//This is for debug//tested
                for(int i =0;i<6;i++){
                    System.out.println(tempw);//uses for debug//tested
    weightdata.writeDouble(tempw[i]);
    //finish writing information into the file
    weightdata.close();//close the file
    catch(IOException e)//if failed
    System.out.println("Error writing file :"+ e.toString());
         else if(size == 5)
         try{//try to write data
    FileOutputStream file = new FileOutputStream(weightfile5, true);
    BufferedOutputStream buff = new BufferedOutputStream(file);//uses for buffering
    DataOutputStream weightdata = new DataOutputStream(buff);
    //System.out.println("the weight that was saved");//This is for debug//tested
    for(int i =0;i<10;i++){
    System.out.println(tempw[i]);//uses for debug//tested
    weightdata.writeDouble(tempw[i]);
    //finish writing information into the file
    weightdata.close();//close the file
    catch(IOException e)//if failed
    System.out.println("Error writing file :"+ e.toString());
         else
         try{//try to write data
    FileOutputStream file = new FileOutputStream(weightfile10, true);
    BufferedOutputStream buff = new BufferedOutputStream(file);//uses for buffering
    DataOutputStream weightdata = new DataOutputStream(buff);
    //System.out.println("the weight that was saved");//This is for debug//tested
    for(int i =0;i<10;i++){
    System.out.println(tempw[i]);//uses for debug//tested
    weightdata.writeDouble(tempw[i]);
    //finish writing information into the file
    weightdata.close();//close the file
    catch(IOException e)//if failed
    System.out.println("Error writing file :"+ e.toString());
    }//the end of save file
    public double weightLoad(int nweight,int size)//this function require to know which weight need to be load
    //this function should read from the file and return one double at a time
         if(size == 3)
    double temp[] =new double[6];
    double retral =0;
    // System.out.println("int the weightLoad function");//uses for debug
    try{
         FileInputStream file = new FileInputStream(weightfile3);
         BufferedInputStream buff = new BufferedInputStream(file);
         DataInputStream weightdata = new DataInputStream(buff);
    // System.out.println("in the weightLoad function");//uses for debug
    for(int i =0;i<6;i++) {
    temp[i] = weightdata.readDouble();
    //System.out.println(temp[i]);//uses for debug
              // System.out.println("read all the data");
         weightdata.close();
         }catch (IOException e) {System.out.println("Error reading from file"+e.toString());}
    //System.out.println(temp);//This is for debug
    for(int i=0;i<=nweight;i++)
    retral = temp[i];
         System.out.println("The value that get return from load is : " + retral);
         return retral;
         else if(size == 5)
         double temp[] =new double[10];
    double retral =0;
    // System.out.println("int the weightLoad function");//uses for debug
    try{
         FileInputStream file = new FileInputStream(weightfile5);
         BufferedInputStream buff = new BufferedInputStream(file);
         DataInputStream weightdata = new DataInputStream(buff);
    System.out.println("in the weightLoad function");//uses for debug
    for(int i =0;i<10;i++) {
    temp[i] = weightdata.readDouble();
    System.out.println(temp[i]);//uses for debug
              System.out.println("read all the data");
         //weightdata.close();
         }catch (IOException e) {System.out.println("Error reading from file"+e.toString());}
    //System.out.println(temp);//This is for debug
    for(int i=0;i<=nweight;i++)
    retral = temp[i];
         System.out.println("The value that get return from load is : " + retral);
         return retral;
         else
         double temp[] =new double[10];
    double retral =0;
    // System.out.println("int the weightLoad function");//uses for debug
    try{
         FileInputStream file = new FileInputStream(weightfile10);
         BufferedInputStream buff = new BufferedInputStream(file);
         DataInputStream weightdata = new DataInputStream(buff);
    System.out.println("in the weightLoad function");//uses for debug
    for(int i =0;i<10;i++) {
    temp[i] = weightdata.readDouble();
    //System.out.println(temp[i]);//uses for debug
         System.out.println("read all the data");
         //weightdata.close();
         }catch (IOException e) {System.out.println("Error reading from file"+e.toString());}
    //System.out.println(temp);//This is for debug
    for(int i=0;i<=nweight;i++)
    retral = temp[i];
         System.out.println("The value that get return from load is : " + retral);
         return retral;

    Your problem is caused by the way you save the data:
    FileOutputStream file = new FileOutputStream(weightfile5, true);The argument "true" means that you append any data to the end of the file, rather than overwriting the current contents.
    Your reader just reads the first data in the file - which are the ones that you put in initially. Thats why it is always returning all one.
    To fix: remove the "true" from your call to FileOutputStream - it will then overwrite the current file.
    Cheers,
    evnafets

  • Formatting custum double precision

    I don't understand the DecimalFormat API.
    I need to format double variables trajectory_angle, velocity_fps and elapsed_time to three decimal place precision round off in the following code segment. For example, the value of elapsed_time would change from 1234.56789 to 1234.568 in results_string. Note that I need to set this precision only in this method since I wish to retain prior precision determined in other parts of the code prior to this method being invoked. Please examine this segment and indicate what corrections I need to make.
         public String results()
         DecimalFormat df = new DecimalFormat(.###);
         results_string =
         "Distance =\t\t" + distance / 5280.0 + " miles\n"
         + "Altitude =\t\t" + altitude + " feet\n"
         + "Trajectory Angle =\t" + df.format(trajectory_angle) + " degrees\n"
         + "Velocity =\t\t" + df.format(velocity_fps) + " feet per second\n"
         + "Elapsed Time =\t\t" + df.format(elapsed_time) + " seconds\n";
         return results_string;

    Nevermind. I found the solution. However, I need to see better examples on how to use that API.

  • Double-click in Excel XP Win XP not working

    I have installed the 6.5 Spreadsheet add-in on over 10 systems on my network. Typically the systems are Win98 running Office 2000. This last week we installed 5 WinXP systems running OfficeXP.I installed the Essbase Add-in on three of the XP systems and thought all was well. Last week one user complained that the double-click function was not working.I tested the other two installs and they work fine.I check the ESSBASE-Options tabs and the double-click option is checked.If I un-check this option, and double-click, the system 'edits' the cell, which is what we'd espect. When I check this option the system appears to do nothing. Right-click also appears to do nothing.I have uninstalled the ESSBASE add-in , and re-installed it, and found no difference. I have also 'repaired' my office installation.There only seems to be one instance of Excel running. Multiple instances seemed to be an issue in the discussion boards.This particular user 'customizes' the desktop, fonts, icons etc. all the time. I keep thinking there must be something in that area that is compromised.Any pointers? Any experience? Any help?Regards

    Maybe that user change something in the zoom in section of the essbase options... maybe set it to formulas...

  • Writing a row to excel file

    I am trying to write a row to an existing excel file using apache POI and JExcelAPI but no luck so far. It somehow just corrupts the file and am unable to open it. Here is the code im using for POI but it gives me NullPointerException at cell.setValue(). If anybody else knows any other API which is easy to use and does it without any problems
    thx
    try {
              String filename = "C:/m/util.xls";
              POIFSFileSystem fs  = new POIFSFileSystem(new FileInputStream(filename));
              HSSFWorkbook wb = new HSSFWorkbook(fs);
              HSSFSheet sheet = wb.getSheetAt((short)1);
              int i = 17;
              HSSFRow row = sheet.getRow(i);
              HSSFCell cell = row.getCell((short) 2);
              cell.setCellValue("test!");
              FileOutputStream fileOut = new FileOutputStream(filename);
              fileOut = new FileOutputStream(filename);
             wb.write(fileOut);
             fileOut.close();
              }catch(Exception e) { e.printStackTrace(); }Edited by: djavia on Oct 31, 2007 6:47 AM

    Don't double post your question:
    http://forum.java.sun.com/thread.jspa?threadID=617605&messageID=3450899#3450899
    /Kaj

Maybe you are looking for

  • Transfering music from your ipod to itunes

    Is there any way to transfer the music from an ipod to a blank itunes library?

  • Trouble with Nokia Software updater software

    Hi I have trouble with my Nokia software updater. It "freezes" in detecting your phone picture. Everytime there is a new version of NSU and first time I run it after installing/upgrading it works fine. But when I run it one more time it freezes. Anyb

  • T520 w/dock & Win8 Consumer Preview

    I have a T520 (4240) with dock and just installed Windows 8 Consumer Preview. The dock is connected to two external monitors which appear unrecognized after the install. I ran a VGA cable directly to the laptop's own video out and still nothing. When

  • Open Document as a COPY on MAC

    Hi everyone!                 A very simple question related to the different behavior of InDesign on Windows and Mac. On Mac whenever a document is opened, it always opens a copy of the document regardless of selecting open dialog options ORIGINAL OR

  • External HD does not appear in Mac HD

    I have a 2 TB Western Digital External  Storage Drive for Mac, which I used to back up some data, attached to my G3 (upgraded processor to G4 Sonnet) B/W desktop.  The drive (My Book) and a separate disk documentation (WD SmartWare) appears on the co