开发者

phpmyadmin/CSV(Excel) Problems

I have an excel workbook where the .csv file is outputted with quotes with this vba code:

 'Set up Delimiters
DELIMITER = ","
QUOTE = """"

 'Set up file to save, ask user for name
GetFileName = InputBox("Enter Name for semi-colon delimited file: (Do not enter file extension)", "FILENAME")
  'CurrentPath = Application.ActiveWorkbook.Path
 PathtoUse = "C:\Users\David\Desktop\"
 FileNametoUse = PathtoUse & GetFileName & ".csv"

 'Find cells to cycle through
With ActiveSheet.UsedRange
    LastRow = .Cells(.Cells.Count).Row
    LastCol = .Cells(.Cells.Count).Column
End With

 'Assign a handle to next file#
FileNum = FreeFile

 'Open and write to file named above
Open FileNametoUse For Output As #FileNum

 'Cycle through rows and cols
For Each CurrentRow In Range("A1:A" & LastRow)
    With CurrentRow 'Now cycle through each cell in the row
        For Each CurrentCell In Range(.Cells, Cells(.Row, LastCol))
             'If the cell contains Non-Numeric (IsNumeric=False) then put quotes around the info
            If IsNumeric(CurrentCell.Text) = False Then
                CellData = QUOTE & CurrentCell.Text & QUOTE
            Else 'The cell contains numeric, use contents as is
                CellData = CurrentCell.Text
            End If
             'as the code cycles, keep adding each col info to string
            LineOutput = LineOutput & DELIMITER & CellData
        Next CurrentCell

         'Remove the first 2 chars in the line (since the delimiter is put in first)
        LineOutput = Mid(LineOutput, 2)
         'Print the line to the file
        Print #FileNum, LineOutput
          'Clear out the variable
        LineOutput = Empty
    End With
Next CurrentRow

 'Close the file
Close #FileNum

This outputs the file correctly for example:

"FirstName","Surname","YBC","BTBA","JTE","EnteringAverage","DOB","Game1","Game2","Game3","Game4","Game5","Gam开发者_如何学编程e6","Game7","Game8","IndividualTotal","Average","TeamTotal"
"David","Passmore","Bowlplex Poole",116016,193,179,"05/08/1994",203,254,211,195,187,184,200,267,1701,212.63,3178
"Callum","Bailey","Bowlplex Poole",016015,185,189,"30/05/1996",175,145,195,117,201,265,221,158,1477,184.63,3178
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""
"","","","","","","","","","","","","","","","","",""

Firstly I want to know how to remove all the blank cells, and secondly when I input this into phpMyAdmin it all works BUT it misses out the first column and it inputs the column names which I don't want, so I want it to input all the first name column and then I want it to miss out the column names.

My server's phpmyadmin version is 2.6.4 (I know its old but I can't do anything about that)

But is also does this on my local server which is version 3.3.9

UPDATE

I've fixed the first column issue by just moving the file one column to the right so that's fixed but the other two problems still exist.


You could just change your vba here:

 'Set up Delimiters 
DELIMITER = "," 
QUOTE = """"  

To this:

'Set up Delimiters
DELIMITER = ";"
QUOTE = """" 

Because phpMyAdmin defaults to ; as the separator.

In answser to your second point you could use this vba code to remove blank cells:

Sub MacroNAME()
    ActiveWorkbook.Save
    Rows("1:1").Select
    Selection.Cut
    Sheets("sheetname").Select
    Sheets.Add
    ActiveSheet.Name = "Save"
    ActiveSheet.Paste
    Sheets("sheetname").Select
    Rows("1:1").Select
    Rows("1:1").RowHeight = 14.25
    Selection.Delete Shift:=xlUp
    Cells.Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.ClearContents
    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("1:1").Select
    Selection.Delete Shift:=xlUp
    Rows("2:2").RowHeight = 14.25
    **Code Used above here**
    Rows("1:1").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    Rows("1:1").RowHeight = 0.1
    Columns("A:A").Select
    Selection.Delete Shift:=xlToLeft
    Sheets("sheetname").Select
    Rows("2:2").Select
    Selection.Insert Shift:=xlDown
    Rows("1:1").RowHeight = 10.5
    Rows("1:1").RowHeight = 14.25
    Sheets("Save").Select
    Selection.Cut
    Sheets("sheetname").Select
    Rows("1:1").Select
    ActiveSheet.Paste
    Application.DisplayAlerts = False
    Sheets("Save").Select
    ActiveWindow.SelectedSheets.Delete
    Application.DisplayAlerts = True

This will clear the column headings provided they are it the first row.

You can apply this to a button and it should work.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜