ws2801 : Port: I2C vs SPI - help

Hello, I was researching a bit WS2801 and apparently this can comunicarce by Port I2c,
I would like to know which port is the fastest, and if anyone has been able
make the communications of I2C port.

I have developed a code, parececido one who had created for this I worked SPI.

but I can not wire the library to go to WS2801.

#include <Wire.h>
#define nLEDs 18
byte ledBar[nLEDs]; // Array representing LED PWM levels (byte size)

void setup()
{
  Wire.begin(); // join i2c bus (address optional for master)

}
byte x = 255;


void loop()
{
              for(int i = 0; i <  nLEDs; i+=3){
                ledBar[i] = x ;
                ledBar[i+1] = x ;
                ledBar[i+2] = x ;
  
              }

        loadWS2803();                // device address is specified in datasheet

}


void loadWS2803(){
    for (int wsOut = 0; wsOut < nLEDs; wsOut++){
//    shiftOut(ws2803_dataPin, ws2803_clockPin, MSBFIRST, ledBar[wsOut]);
    
      Wire.write(ledBar[wsOut]);            // sends instruction byte  

    }
    delayMicroseconds(600); // 600us needed to reset WS2803s
}

Didn't I answer this already? WS2801 does not do I2C, that requires the slave to acknowledge a transfer. WS2801 does work with SPI, with SCK and MOSI connected to Clock and Serial Data In.