Bug #72504 MySQL for Excel not importing TIME columns
Submitted: 1 May 2014 19:42 Modified: 9 Oct 2014 5:05
Reporter: Dustin Lindley Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL for Windows: MySQL for Excel Severity:S2 (Serious)
Version:Server 5.6.15, unknown MySQL for Excel OS:Windows (Win 7, SP1)
Assigned to: CPU Architecture:Any

[1 May 2014 19:42] Dustin Lindley
Description:
MySQL for Excel fails to import columns with TIME data in them.  It gives the error:

Method's type signature is not Interop compatible.

How to repeat:
Used MySQL Workbench when generating and executing SQL below:

CREATE SCHEMA `timebug` ;

CREATE TABLE `timebug`.`timebuggy` (
  `timey` TIME NOT NULL,
  PRIMARY KEY (`timey`));

INSERT INTO `timebug`.`timebuggy` (`timey`) VALUES ('10:30');

Open Excel, use MySQL for Excel to connect to database, attempt to Import or Edit timebuggy table.
[2 May 2014 1:31] MySQL Verification Team
Error Message

Attachment: time_bug_excel.png (image/png, text), 221.07 KiB.

[2 May 2014 1:32] MySQL Verification Team
Thank you for the bug report.
[5 May 2014 16:55] Dustin Lindley
Also fails the other way.  Create empty table:

CREATE SCHEMA `timebug` ;

CREATE TABLE `timebug`.`timebuggy` (
  `timey` TIME NOT NULL,
  PRIMARY KEY (`timey`));

Edit with MySQL for Excel.  On entry of data, attached error message is observed.
[5 May 2014 16:55] Dustin Lindley
Error message

Attachment: Capture.JPG (image/jpeg, text), 60.02 KiB.

[3 Sep 2014 20:02] Javier Rivera Zavala
Posted by developer:
 
- Casting the content of rows into string so no more type errors appear.
[9 Sep 2014 19:27] Javier Rivera Zavala
Posted by developer:
 
- Added code to convert TimeSpan values from the database into Excel's time values to avoid type errors while importing to a range (when Create Excel Table option is not selected in Advanced Options) in ImportDataIntoExcelRange() at MySqlDataTable.cs.  
- Corrected minor importing limits logic errors to exploit the worksheet space to the maximum. Created a new extension method at ExcelUtilities.cs called GetWorkbookMaxRowNumber to determine the value depending if the workbook is in compatibility mode (or the Excel version is 2003 or lower).
[9 Oct 2014 5:05] Philip Olson
Posted by developer:
 
Fixed as of the upcoming MySQL for Excel 1.3.3 release, and here's the changelog entry:

"TIME" values are now converted to Excel's time values to avoid type
related errors when importing a range of data to or from Excel.

Thank you for the bug report.